Show Table of Contents
9.3.2. org.jboss.mq.il.uil2.UILServerILService
The
org.jboss.mq.il.uil2.UILServerILService is used to configure the UIL2 IL. The configurable attributes are as follows:
- Invoker: This attribute specifies JMX
ObjectNameof the JMS entry point service that is used to pass incoming requests to the JMS server. This is not something you would typically change from thejboss.mq:service=Invokersetting unless you change the entry point service. - ConnectionFactoryJNDIRef: The JNDI location that this IL will bind a
ConnectionFactorysetup to use this IL. - XAConnectionFactoryJNDIRef: The JNDI location that this IL will bind a
XAConnectionFactorysetup to use this IL. - PingPeriod: How often, in milliseconds, the client should send a ping message to the server to validate that the connection is still valid. If this is set to zero, then no ping message will be sent.
- ReadTimeout: The period in milliseconds is passed onto as the
SoTimeoutvalue of the UIL2 socket. This allows detection of dead sockets that are not responsive and are not capable of receiving ping messages. Note that this setting should be longer in duration than thePingPeriodsetting. - BufferSize: The size in bytes used as the buffer over the basic socket streams. This corresponds to the
java.io.BufferedOutputStreambuffer size. - ChunkSize: The size in bytes between stream listener notifications. The UIL2 layer uses the
org.jboss.util.stream.NotifyingBufferedOutputStreamandNotifyingBufferedInputStreamimplementations that support the notion of a heartbeat that is triggered based on data read/written to the stream. WheneverChunkSizebytes are read/written to a stream. This allows serves as a ping or keepalive notification when large reads or writes require a duration greater than thePingPeriod. - ServerBindPort: The protocol listening port for this IL. If not specified default is 0, which means that a random port will be chosen.
- BindAddress: The specific address this IL listens on. This can be used on a multi-homed host for a
java.net.ServerSocketthat will only accept connection requests on one of its addresses. - EnableTcpNoDelay:
TcpNoDelaycauses TCP/IP packets to be sent as soon as the request is flushed. This may improve request response times. Otherwise request packets may be buffered by the operating system to create larger IP packets. - ServerSocketFactory: The
javax.net.ServerSocketFactoryimplementation class name to use to create the servicejava.net.ServerSocket. If not specified the default factory will be obtained fromjavax.net.ServerSocketFactory.getDefault(). - ClientAddress: The address passed to the client as the address that should be used to connect to the server.
- ClientSocketFactory: The
javax.net.SocketFactoryimplementation class name to use on the client. If not specified the default factory will be obtained fromjavax.net.SocketFactory.getDefault(). - SecurityDomain: Specify the security domain name to use with JBoss SSL aware socket factories. This is the JNDI name of the security manager implementation as described for the
security-domainelement of thejboss.xmlandjboss-web.xmldescriptors.
9.3.2.1. Configuring UIL2 for SSL
The UIL2 service support the use of SSL through custom socket factories that integrate JSSE using the security domain associated with the IL service. An example UIL2 service descriptor fragment that illustrates the use of the custom JBoss SSL socket factories is shown in Example 9.10, “An example UIL2 config fragment for using SSL”.
Example 9.10. An example UIL2 config fragment for using SSL
<mbean code="org.jboss.mq.il.uil2.UILServerILService"
name="jboss.mq:service=InvocationLayer,type=HTTPSUIL2">
<depends optional-attribute-name="Invoker">jboss.mq:service=Invoker</depends>
<attribute name="ConnectionFactoryJNDIRef">SSLConnectionFactory</attribute>
<attribute name="XAConnectionFactoryJNDIRef">SSLXAConnectionFactory</attribute>
<!-- ... -->
<!-- SSL Socket Factories -->
<attribute name="ClientSocketFactory">
org.jboss.security.ssl.ClientSocketFactory
</attribute>
<attribute name="ServerSocketFactory">
org.jboss.security.ssl.DomainServerSocketFactory
</attribute>
<!-- Security domain - see below -->
<attribute name="SecurityDomain">java:/jaas/SSL</attribute>
</mbean>
<!-- Configures the keystore on the "SSL" security domain
This mbean is better placed in conf/jboss-service.xml where it
can be used by other services, but it will work from anywhere.
Use keytool from the sdk to create the keystore. -->
<mbean code="org.jboss.security.plugins.JaasSecurityDomain"
name="jboss.security:service=JaasSecurityDomain,domain=SSL">
<!-- This must correlate with the java:/jaas/SSL above -->
<constructor>
<arg type="java.lang.String" value="SSL"/>
</constructor>
<!-- The location of the keystore resource: loads from the
classpath and the server conf dir is a good default -->
<attribute name="KeyStoreURL">resource:uil2.keystore</attribute>
<attribute name="KeyStorePass">changeme</attribute>
</mbean>

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.