public abstract class Xnio
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static boolean |
NIO2
A flag indicating the presence of NIO.2 (JDK 7).
|
Modifier | Constructor and Description |
---|---|
protected |
Xnio(java.lang.String name)
Construct an XNIO provider instance.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
allowBlocking(boolean newSetting)
Allow (or disallow) blocking I/O on the current thread.
|
static void |
checkBlockingAllowed()
Perform a check for whether blocking is allowed on the current thread.
|
FileSystemWatcher |
createFileSystemWatcher(java.lang.String name,
OptionMap options)
Creates a file system watcher, that can be used to monitor file system changes.
|
XnioWorker |
createWorker(OptionMap optionMap)
Construct a new XNIO worker.
|
XnioWorker |
createWorker(java.lang.ThreadGroup threadGroup,
OptionMap optionMap)
Construct a new XNIO worker.
|
abstract XnioWorker |
createWorker(java.lang.ThreadGroup threadGroup,
OptionMap optionMap,
java.lang.Runnable terminationTask)
Construct a new XNIO worker.
|
static Xnio |
getInstance()
Get an XNIO provider instance from XNIO's class loader.
|
static Xnio |
getInstance(java.lang.ClassLoader classLoader)
Get an XNIO provider instance.
|
static Xnio |
getInstance(java.lang.String provider)
Get a specific XNIO provider instance from XNIO's class loader.
|
static Xnio |
getInstance(java.lang.String provider,
java.lang.ClassLoader classLoader)
Get a specific XNIO provider instance.
|
java.lang.String |
getName()
Get the name of this XNIO provider.
|
protected static java.lang.String |
getProperty(java.lang.String name)
Get an XNIO property.
|
protected static java.lang.String |
getProperty(java.lang.String name,
java.lang.String defaultValue)
Get an XNIO property.
|
XnioSsl |
getSslProvider(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager[] trustManagers,
OptionMap optionMap)
Get an SSL provider for this XNIO provider.
|
XnioSsl |
getSslProvider(OptionMap optionMap)
Get an SSL provider for this XNIO provider.
|
static boolean |
isBlockingAllowed()
Determine whether blocking I/O is allowed from the current thread.
|
FileChannel |
openFile(java.io.File file,
FileAccess access)
Open a file on the filesystem.
|
FileChannel |
openFile(java.io.File file,
OptionMap options)
Open a file on the filesystem.
|
FileChannel |
openFile(java.lang.String fileName,
FileAccess access)
Open a file on the filesystem.
|
FileChannel |
openFile(java.lang.String fileName,
OptionMap options)
Open a file on the filesystem.
|
protected static java.io.Closeable |
register(XnioProviderMXBean providerMXBean)
Register an MBean.
|
protected static java.io.Closeable |
register(XnioServerMXBean serverMXBean)
Register an MBean.
|
protected static java.io.Closeable |
register(XnioWorkerMXBean workerMXBean)
Register an MBean.
|
java.lang.String |
toString()
Get a string representation of this XNIO provider.
|
protected FileChannel |
unwrapFileChannel(FileChannel src)
Unwrap an XNIO-wrapped file channel.
|
protected Xnio(java.lang.String name)
getInstance()
methods.name
- the provider namepublic static boolean allowBlocking(boolean newSetting) throws java.lang.SecurityException
changeThreadBlockingSetting
RuntimePermission
.newSetting
- true
to allow blocking I/O, false
to disallow itjava.lang.SecurityException
- if a security manager is present and disallows changing the changeThreadBlockingSetting
RuntimePermission
public static boolean isBlockingAllowed()
true
if blocking I/O is allowed, false
otherwisepublic static void checkBlockingAllowed() throws java.lang.IllegalStateException
java.lang.IllegalStateException
- if blocking is not allowed on the current threadpublic static Xnio getInstance(java.lang.ClassLoader classLoader)
classLoader
- the class loader to search inpublic static Xnio getInstance()
public static Xnio getInstance(java.lang.String provider, java.lang.ClassLoader classLoader)
provider
- the provider name, or null
for the first availableclassLoader
- the class loader to search inpublic static Xnio getInstance(java.lang.String provider)
provider
- the provider name, or null
for the first availablepublic XnioSsl getSslProvider(OptionMap optionMap) throws java.security.GeneralSecurityException
optionMap
- the option map to use for configuring SSLjava.security.GeneralSecurityException
- if an exception occurred configuring the SSL providerpublic XnioSsl getSslProvider(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager[] trustManagers, OptionMap optionMap) throws java.security.GeneralSecurityException
optionMap
- the option map to use for configuring SSLkeyManagers
- the key managers to use, or null
to configure from the option maptrustManagers
- the trust managers to use, or null
to configure from the option mapjava.security.GeneralSecurityException
- if an exception occurred configuring the SSL providerpublic FileChannel openFile(java.io.File file, OptionMap options) throws java.io.IOException
file
- the file to openoptions
- the file-open optionsjava.io.IOException
- if an I/O error occurspublic FileChannel openFile(java.lang.String fileName, OptionMap options) throws java.io.IOException
fileName
- the file name of the file to openoptions
- the file-open optionsjava.io.IOException
- if an I/O error occurspublic FileChannel openFile(java.io.File file, FileAccess access) throws java.io.IOException
file
- the file to openaccess
- the file access level to usejava.io.IOException
- if an I/O error occurspublic FileChannel openFile(java.lang.String fileName, FileAccess access) throws java.io.IOException
fileName
- the file name of the file to openaccess
- the file access level to usejava.io.IOException
- if an I/O error occursprotected FileChannel unwrapFileChannel(FileChannel src)
src
- the possibly wrapped file channelpublic XnioWorker createWorker(OptionMap optionMap) throws java.io.IOException, java.lang.IllegalArgumentException
optionMap
- the options to use to configure the workerjava.io.IOException
- if the worker failed to be openedjava.lang.IllegalArgumentException
- if an option value is invalid for this workerpublic XnioWorker createWorker(java.lang.ThreadGroup threadGroup, OptionMap optionMap) throws java.io.IOException, java.lang.IllegalArgumentException
threadGroup
- the thread group for worker threadsoptionMap
- the options to use to configure the workerjava.io.IOException
- if the worker failed to be openedjava.lang.IllegalArgumentException
- if an option value is invalid for this workerpublic abstract XnioWorker createWorker(java.lang.ThreadGroup threadGroup, OptionMap optionMap, java.lang.Runnable terminationTask) throws java.io.IOException, java.lang.IllegalArgumentException
threadGroup
- the thread group for worker threadsoptionMap
- the options to use to configure the workerterminationTask
- the task to run after the worker has shut downjava.io.IOException
- if the worker failed to be openedjava.lang.IllegalArgumentException
- if an option value is invalid for this workerpublic FileSystemWatcher createFileSystemWatcher(java.lang.String name, OptionMap options)
name
- The watcher nameoptions
- The options to use to create the watcherpublic final java.lang.String getName()
public final java.lang.String toString()
toString
in class java.lang.Object
protected static java.lang.String getProperty(java.lang.String name)
"xnio."
.name
- the property namenull
if it wasn't foundprotected static java.lang.String getProperty(java.lang.String name, java.lang.String defaultValue)
"xnio."
.name
- the property namedefaultValue
- the default valuedefaultValue
if it wasn't foundprotected static java.io.Closeable register(XnioProviderMXBean providerMXBean)
providerMXBean
- the provider MBean to registerprotected static java.io.Closeable register(XnioWorkerMXBean workerMXBean)
workerMXBean
- the worker MBean to registerprotected static java.io.Closeable register(XnioServerMXBean serverMXBean)
serverMXBean
- the server MBean to registerCopyright © 2016 JBoss, a division of Red Hat, Inc.