on 11-29-2004 1:20 PM
Hallo
I'am looking for some infos about the handling of administered objects in the JMS environment of the WebAS 6.40. The online docu (http://help.sap.com/saphelp_nw04/helpdata/en/21/82a9058fa8de46b1ba7522289345b2/frameset.htm) only mention that this would be possible but I found no information how to do.
Especially I'am interessted in creating and removing destination-objects (JMS Queues/Topics) in a programmatically way.
Hi Markus
WebAS 6.40 doesn't offer an administration API to create administered objects, but it allows you to deploy them together with a J2EE application. Have a look at http://help.sap.com/saphelp_erp2004/helpdata/en/44/976986db254d16b2afae73f0edd8b1/frameset.htm
The JMS connector service provides an additional abstraction layer between the JMS provider and the application.
You have to create two files, jms-factories.xml and jms-destinations.xml. Place them within the META-INF folder of the EAR project. Here is an example of these files:
jms-factories.xml:
<jms-factories>
<application-name>
TestEAR
</application-name>
<connection-factory>
<factory-name>
QueueConnFactory
</factory-name>
<context-factory-type>
<link-factory-name>
jmsfactory/default/XAQueueConnectionFactory
</link-factory-name>
<initial-context-factory>
com.sap.engine.services.jndi.InitialContextFactoryImpl
</initial-context-factory>
<provider-url>
</provider-url>
<security-principal>
</security-principal>
<security-credentials>
</security-credentials>
</context-factory-type>
</connection-factory>
</jms-factories>
jms-destinations.xml:
<jms-destinations>
<application-name>
TestEAR
</application-name>
<destination>
<connection-factory>
QueueConnFactory
</connection-factory>
<destination-name>
myQueue
</destination-name>
</destination>
</jms-destinations>
Use the same names you define here (factory-name and destination-name) in the ejb-j2ee-engine.xml file to map the resource-ref and resource-env-ref to physical connection factories and destinations, respectively.
Technically, each administered object consists of two objects: one in the JMS provider, and another one in the JMS connector. You actually don't have to be aware of this, but I want to point you to one pitfall: The connection factory you define in the jms-factories.xml must point to an existing(!) connection factory object in the JMS provider layer (tag link-factory-name) - and this object cannot be created programatically in WebAS 6.40. However, WebAS 6.40 comes with a set of predefined connection factories which you can use (depending on the type you need):
jmsfactory/default/XAQueueConnectionFactory
jmsfactory/default/XATopicConnectionFactory
jmsfactory/default/QueueConnectionFactory
jmsfactory/default/TopicConnectionFactory
Note: With transacted MDB's, you have to choose the XA types of the connection factories instead of the "regular" ones.
Hope that helps.
Regards,
Sabine
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.