Index Changes

Difference between version and version     

Back to Connecting To The JMS Server, or Connecting To The JMS Server Info


At line 6 changed 1 line.
You use a ''connection URL'' to specify the information for connecting to the JMS server, even if that JMS server normally does not use a URL format.
You use a connection URL to specify the information for connecting to the JMS server.
At line 8 changed 1 line.
TO BE DONE
For any JMS server that is supported by JMSJCA, you can specify the protocol, server, and port in the connection URL. The JMS Binding Component uses the information in the connection URL to create a new JMS connection factory.
%%information
Note - JMSJCA is a library that abstracts the differences between JMS servers and provides a single interface to the JMS servers. JMSJCA is shipped as part of the JMS Binding Component. For a list of supported JMS servers, go to [https://jmsjca.dev.java.net].\\
%%
At line 13 added 116 lines.
You can connect to any JMS server by using the Java Naming and Directory InterfaceTM (JNDI) to locate an existing JMS connection factory.
A connection factory is a Java class supplied by the JMS provider. For example:
{{com.stc.jmsjca.core.JConnectionFactoryXA}}
* Specifying the Protocol, Server, and Port\\
* Connecting to the JMS Server by Using JNDI\\
!!Specifying the Protocol, Server, and Port
For any JMS server that is supported by JMSJCA, you can specify the protocol, server, and port in the connection URL. The JMS Binding Component uses the information in the connection URL to create a new JMS connection factory.
The following connection URL includes a protocol, server, and port for Sun JavaTM System Message Queue:
{{{
mq://localhost:7676
}}}
The following connection URL includes a protocol, server, and port for Sun JMS IQ Manager:
{{{
stcms://localhost:18007
}}}
When you use a wizard to create a JMS-based concrete WSDL document, you set the connection URL in the Request Connection Configuration step of the wizard. For more information, see Creating JMS-Based Concrete WSDL Documents.
When you finish the wizard, the appropriate WSDL code is generated. The connection URL appears in the {{address}} element. For example:
{{{
<port name="newWSDL_InPort" binding="tns:JMSInBinding">
<jms:address connectionURL="mq://localhost:7676" username="admin" password="admin">
<jms:jmsjcaOptions><![CDATA[]]></jms:jmsjcaOptions>
</jms:address>
</port>
}}}
!!Connecting to the JMS Server by Using JNDI
You can connect to any JMS server by using the Java Naming and Directory InterfaceTM (JNDI) to locate an existing JMS connection factory.
Depending on where the connection factory is bound, the connection URL can begin with the string {{lookup}} or the string {{jndi}}.
The appropriate JNDI provider jar files must be in the runtime classpath. With the GlassFish application server, you copy these jar files to the {{lib}} directory. In addition, JMS provider client jar files are needed in the runtime classpath.
!Using the {{lookup}} Approach
To access a connection factory that is bound in the JNDI space of the GlassFish application server itself, use the {{lookup}} approach.
This scenario can occur when a managed connection factory has been created. Managed connection factories provide additional services on top of a connection factory. The additional services include connection pooling. The managed connection factory creates a connection factory wrapper.
Set the connection URL to {{lookup://JNDI-name}}, where {{JNDI-name}} is the JNDI name to which the connection factory is bound. For example:
{{{
lookup://jms/tx/default
}}}
When you use a wizard to create a JMS-based concrete WSDL document, you set the connection URL in the Request Connection Configuration step of the wizard. For more information, see Creating JMS-Based Concrete WSDL Documents.
When you finish the wizard, the appropriate WSDL code is generated. The connection URL appears in the {{address}} element. For example:
{{{
<port name="newWSDL_InPort" binding="tns:JMSInBinding">
<jms:address connectionURL="lookup://jms/tx/default">
<jms:jmsjcaOptions><![CDATA[]]></jms:jmsjcaOptions>
</jms:address>
</port>
}}}
At runtime, the JMS Binding Component uses the JNDI name to obtain the connection factory.
!Using the {{jndi}} Approach
Use the {{jndi}} approach for either of the following scenarios:
* To look up a connection factory in an external JNDI provider (for example, file or LDAP).\\
* To look up a connection factory in a JNDI provider in the JMS server itself.\\
Set the connection URL to {{jndi://}} and specify the JNDI options.
When you use a wizard to create a JMS-based concrete WSDL document, you set the connection URL in the Request Connection Configuration step of the wizard. You then specify the JNDI options in the Advanced Configuration step of the wizard. For more information, see Creating JMS-Based Concrete WSDL Documents.
The following table describes the available JNDI options.
|| JNDI Option|| Description
| {{JMSJCA.UnifiedCF}}| The JNDI name of the connection factory. Use this option only in outbound scenarios.
| {{JMSJCA.TopicCF}}| The JNDI name of topic connection factory. You can use this option in inbound or outbound scenarios.
| {{JMSJCA.QueueCF}}| The JNDI name of queue connection factory. You can use this option in inbound or outbound scenarios.
| {{java.naming.factory.initial}}| The fully qualified class name of the factory class that will create the initial context. An initial context is the starting point for naming operations. For more information, see the Java API documentation for {{javax.naming.Context.INITIAL_CONTEXT_FACTORY}}.
| {{java.naming.provider.url}}| The configuration information for the service provider to use. The value should contain a URL string. For more information, see the Java API documentation for {{javax.naming.Context.PROVIDER_URL}}.
| {{java.naming.security.principal}}| The identity of the principal for authenticating the caller to the service. For more information, see the Java API documentation for {{javax.naming.Context.SECURITY_PRINCIPAL}}.
| {{java.naming.security.credentials}}| The credentials of the principal for authenticating the caller to the service. For more information, see the Java API documentation for {{javax.naming.Context.SECURITY_CREDENTIALS}}.
The {{destinationType}} and {{transaction}} attributes in the WSDL document determine what type of connection factory is being looked up. For example, if the {{destinationType}} attribute is {{Queue}} and the {{transaction}} attribute is {{XATransaction}}, then the connection factory must be of type {{javax.jms.XAQueueConnectionFactory}}.
The following code shows an example of specifying the JNDI options. In this scenario, the connection factory is bound in the JMS server itself.
{{{
JMSJCA.UnifiedCF=connectionfactories/xaconnectionfactory
JMSJCA.TopicCF=connectionfactories/xatopicconnectionfactory
JMSJCA.QueueCF=connectionfactories/xaqueueconnectionfactory
java.naming.factory.initial=com.stc.jms.jndispi.InitialContextFactory
java.naming.provider.url=stcms://localhost:18007
java.naming.security.principal=Administrator
java.naming.security.credentials=STC
}}}
When you finish the wizard, the appropriate WSDL code is generated. The connection URL appears in the {{address}} element. The JNDI options appear in the {{jmsjcaOptions}} element. For example:
{{{
<port name="newWSDL_InPort" binding="tns:JMSInBinding">
<jms:address connectionURL="jndi://">
<jms:jmsjcaOptions>
<![CDATA[JMSJCA.UnifiedCF=connectionfactories/xaconnectionfactory JMSJCA.TopicCF=connectionfactories/xatopicconnectionfactory JMSJCA.QueueCF=connectionfactories/xaqueueconnectionfactory java.naming.factory.initial=com.stc.jms.jndispi.InitialContextFactory java.naming.provider.url=stcms://localhost:18007 java.naming.security.principal=Administrator java.naming.security.credentials=STC]]>
</jms:jmsjcaOptions>
</jms:address>
</port>
}}}
At runtime, the JMS Binding Component uses the JNDI options to obtain the connection factory.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-17) was last changed on 03-Jun-09 18:56 PM, -0700 by CarolT