Jms server vs jms provider

I'm very new to the jms business and I'm going over a program that worked in websphere 6, trying to make it work in 6.1.
I noticed that they are looking for jms servers and I see on my console jms providers.
Is there a difference?

both are same...

Similar Messages

  • Foreign JMS Server Persistance\Retry in case Remote JMS Provider goes down

    Hi All
    I would need more clarity on this. How does the Foreign JMS Server behave in case the remote JMS provider goes down. Does it take the message from the Publishing Proxy Service and retries\persists the JMS Message till the remote provide is up?
    Please let us know. This would effect our design as retrial is very important here. Thanks

    If you want to provide guaranteed delivery with automatic retries when using remote JMS implementations, there are multiple ways to implement it:
    1. While reading from a foreign JMS destination
    Create a Foreign JMS server using transactional drivers (use XA in case of JMS). The messages remain on remote server JMS queue and OSB proxy polls the message directly on remote server. So if Remote Server is down OSB will not be able to read the message. Once remote server is up OSB will pick up the message (as long as foreign JMS server provides persistence and maintains the messages in the queue during a server restart). In case of error in OSB foreign queue can do retry if it provides a retry mechanism.
    2. While writing the message to a foreign JMS destination
    a. Use a foreign JMS server using transactional connection. Put the retry mechanism in OSB Business service which writes to the foreign JMS/MQ queue. In case of failure Business Service can retry based on configuration. If you want to provide guaranteed delivery then create a local JMS queue to store the messages. So when remote destination is down for a long time undelivered messages will be rolled back to the local queue. You can put retry mechanism on the local queue.
    b. Use a messaging bridge which will write the messages to the remote destination. You can configure retry delivery rules in messaging bridge so once busienss service writes the message to the bridge, a SAF agent will ensure the delivery to remote destination whenever it is up.

  • MDB behavior with Foreign JMS Provider

              I am experiencing some MDB behavior which I do not quite understand. I would appreciate
              if someone could tell me what might be happening.
              An application on WebLogic 8.1 SP1 (also tried it with SP2) has MDB's which listen
              on a MQ Queue. If I put a large XML message on the MQ Queue (say around 600 KB),
              the onMessage execution is very random, For the large messages only 1 MDB gets
              invoked and the other messages just sit on the MQ Queue. Even though I have defined
              an weblogic execute queue for the MDB's and they have 15 threads allocated.
              The other messages get picked up after the first one gets completed. The problem
              is the whole transaction (which is XA) can take a while (upto 10 minutes). This
              is not intended, but for some reason it takes that long.
              Also, while monitoring the MDB execute queues, I noticed that none of the threads
              from that queue are performing the work and a thread dump shows that the weblogic.ejb20.internal.JMSPoller
              thread has invoked the MDB and is currently waiting for the database to finish
              some processing.
              When the message size is smaller, the MDB's fire concurrently and are executed
              on the MDB execute queue.
              Thanks,
              Ketan.
              

    When we're using MDBs against a foreign JMS provider with XA, the EJB
              container tries to reduce the number of threads that are blocked waiting for
              a message. You should see lots of threads working when there are lots of
              messages on the queue, a few threads (or only one) working when the queue is
              empty or nearly so, and there should be some ramp-up and ramp-down time in
              between. It sounds like the ramp-up takes longer in your case because
              receiving the very first message takes a long time.
              If this behavior is causing big problems for you, you might want to contact
              product support and file an enhancement request.
              greg
              "Ketan" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Here is some more information regarding this issue.
              >
              > When I place sufficiently large messages (such that the parsing and
              processing
              > of these messages takes longer than it does for normal size messages), I
              notice
              > the following behavior.
              >
              > Lets say I put 6 large messages on the MQ Queue. The server immediately
              picks
              > up 1 message and starts processing it. The other 5 messages are sitting on
              the
              > MQ Queue, while the MDB execute queue has all 15 idle threads.
              >
              > After the processing of the message is done, 2 messages get picked up.
              This time,
              > 1 thread in the MDB execute queue gets the message and the other is
              processed
              > by the JMSPoller thread. After these 2 messages are processed, 3 Messages
              get
              > picked up and this time 2 messages are on the MDB execute queue and 1 is
              processed
              > by the JMSPoller.
              >
              > So based on this the question is ..Is this the expected behavior? I was
              under
              > the impression that the poller would simply dispatch messages to the
              execute queue,
              > and as a result, I was expecting all the messages would get picked up from
              the
              > MQ queue pretty fast and would not have to wait for 1 or more MDB's to
              finish
              > processing.
              >
              > I would really appreciate any suggestions anyone may have for me.
              >
              > Again the environment is WLS 8.1 SP2, MQ 5.3
              >
              > thanks,
              > Ketan
              

  • Error while using webmethod JMS provider with JNDI

    Hi,
    I am using webmethod JMS provider (not SAP JMS) with JNDI to connect to webmethod with XI. Central J2EE adapter engine is used and the comm chaneel is configured in with appropriate Provider JNDI Server address, initial context factory, Name of queue connection factory etc. 
    While activated the adapter short log shows: Adapter has not provided any status information about this channel"
    In the detailed log following error message is displayed: "Obtained connection factory: null#"
    #1.5 #001A4BAC31000052000001520000152200045090BF28DACA#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001530000152200045090BF28DB65#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Looking up connection factory under name NAIP_XIQueueConnectionFactory#
    #1.5 #001A4BAC31000052000001540000152200045090BF28E42E#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Obtained connection factory: null#
    #1.5 #001A4BAC31000052000001550000152200045090BF28E4B3#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001560000152200045090BF28E528#1214482519516#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001570000152200045090BF28E5A9#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Info##Java###Sucessfully executed CF invocations for connection factory object: for profile: #2#<null>#ConnectionProfile of channel: CC_RCV_JMS_SAPJNDIon node: 3010950 having object id: e4413a5265a436459e271d5e0dd4859b#
    #1.5 #001A4BAC31000052000001580000152200045090BF28E64E#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001590000152200045090BF28E6CA#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015A0000152200045090BF28E741#1214482519517#com.sap.aii.adapter.jms.core.common.StringUtils##com.sap.aii.adapter.jms.core.common.StringUtils.isBlank(String str)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015B0000152200045090BF28E7C3#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Creating connection...#
    #1.5 #001A4BAC310000520000015C0000152200045090BF28EB51#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Warning##Java###Catching #1#java.lang.NullPointerException
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection(ConnectorImpl.java:198)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:166)
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:186)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:151)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:235)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:154)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.doAddUpdateChannel(AdapterImpl.java:404)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(AdapterImpl.java:376)
    at com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl$1.run(ChannelLifecycleCallbackImpl.java:51)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    #1.5 #001A4BAC310000520000015D0000152200045090BF28EC6A#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Error##Plain###[[ChannelName:CC_RCV_JMS_SAPJNDI,ChannelId: e4413a5265a436459e271d5e0dd4859b]] Error adding/updating channel.#
    #1.5 #001A4BAC310000520000015E0000152200045090BF28ECF8#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC310000520000015F0000152200045090BF28ED76#1214482519519#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl##com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded().run()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC3100005F000000660000152200045090BF65478A#1214482523474#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded(Channel channel)#AAAAAAAAA#108##n/a##002ee500437911dd99cf001a4bac3100#SAPEngine_Application_Thread[impl:3]_29##0#0#Path##Plain###Exiting method#
    Please let me know anyone has come accross the problem or has idea how to solve it. Thanks.

    Hi,
    Ask ur basis admin to restart JMS adpater From Vis administrator and try again to activate the comm channel.
    Hope this will solve ur problem and once again check connection fatcory and Queue name provided by Webmethod admin.
    Regards,
    Srini

  • Connecting to a Remote JMS provider from MDB in jboss-4.0

    Hi,
    I am using Tibco as a remote JMS Provider. When the Tibco server is running on the same machine as JBoss-4.0, the Message Driven Bean deployed in Jboss is able to get the messages from the queue on Tibco server.
    I have added the following configuration to jms-ds.xml file
    <!-- The JMS provider loader -->
    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
    name="jboss.mq:service=JMSProviderLoader,name=JMSProvider">
    <attribute name="ProviderName">TIBCOJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">
    org.jboss.jms.jndi.JNDIProviderAdapter
    </attribute>
    <!-- The combined connection factory -->
    <!--attribute name="FactoryRef">XAConnectionFactory</attribute-->
    <!-- The queue connection factory -->
    <attribute name="QueueFactoryRef">XAQueueConnectionFactory</attribute>
    <!-- The topic factory -->
    <attribute name="TopicFactoryRef">XATopicConnectionFactory</attribute>
    <attribute name="Properties">
    java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
    java.naming.factory.url.pkgs=com.tibco.tibjms.naming
    java.naming.provider.url=tibjmsnaming://TibcoHost:7222
    </attribute>
    </mbean>
    Also following invoker proxy binding is added to standardjboss.xml & it is used in MDB's jboss.xml
    <invoker-proxy-binding>
    <name>my-mdb-invoker</name>
    <invoker-mbean>does-not-matter</invoker-mbean>
    <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
    <proxy-factory-config>
    <JMSProviderAdapterJNDI>TIBCOJMSProvider</JMSProviderAdapterJNDI>
    <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
    <MinimumSize>1</MinimumSize>
    <KeepAliveMillis>30000</KeepAliveMillis>
    <MaximumSize>15</MaximumSize>
    <MaxMessages>1</MaxMessages>
    <MDBConfig>
    <ReconnectIntervalSec>10</ReconnectIntervalSec>
    <DLQConfig>
    <DestinationQueue>queue/DLQ</DestinationQueue>
    <MaxTimesRedelivered>10</MaxTimesRedelivered>
    <TimeToLive>0</TimeToLive>
    </DLQConfig>
    </MDBConfig>
    </proxy-factory-config>
    </invoker-proxy-binding>
    But When I try to use Tibco server on some other machine it throws following exception. It actually tryies to connect to Tibco server on same machine.
    javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:748)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:857)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:611)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:1769)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:35)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:90)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:151)
    at com.tibco.tibjms.TibjmsXAQueueConnectionFactory.createQueueConnection(TibjmsXAQueueConnectionFactory.java:140
    at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:152)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
    at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:545)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:767)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy45.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170)
    at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy43.start(Unknown Source)
    at org.jboss.ejb.EjbModule.startService(EjbModule.java:394)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy19.start(Unknown Source)
    at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:605)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
    at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy8.deploy(Unknown Source)

    Hi,
    I am using Tibco as a remote JMS Provider. When the Tibco server is running on the same machine as JBoss-4.0, the Message Driven Bean deployed in Jboss is able to get the messages from the queue on Tibco server.
    I have added the following configuration to jms-ds.xml file
    <!-- The JMS provider loader -->
    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
    name="jboss.mq:service=JMSProviderLoader,name=JMSProvider">
    <attribute name="ProviderName">TIBCOJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">
    org.jboss.jms.jndi.JNDIProviderAdapter
    </attribute>
    <!-- The combined connection factory -->
    <!--attribute name="FactoryRef">XAConnectionFactory</attribute-->
    <!-- The queue connection factory -->
    <attribute name="QueueFactoryRef">XAQueueConnectionFactory</attribute>
    <!-- The topic factory -->
    <attribute name="TopicFactoryRef">XATopicConnectionFactory</attribute>
    <attribute name="Properties">
    java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
    java.naming.factory.url.pkgs=com.tibco.tibjms.naming
    java.naming.provider.url=tibjmsnaming://TibcoHost:7222
    </attribute>
    </mbean>
    Also following invoker proxy binding is added to standardjboss.xml & it is used in MDB's jboss.xml
    <invoker-proxy-binding>
    <name>my-mdb-invoker</name>
    <invoker-mbean>does-not-matter</invoker-mbean>
    <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
    <proxy-factory-config>
    <JMSProviderAdapterJNDI>TIBCOJMSProvider</JMSProviderAdapterJNDI>
    <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
    <MinimumSize>1</MinimumSize>
    <KeepAliveMillis>30000</KeepAliveMillis>
    <MaximumSize>15</MaximumSize>
    <MaxMessages>1</MaxMessages>
    <MDBConfig>
    <ReconnectIntervalSec>10</ReconnectIntervalSec>
    <DLQConfig>
    <DestinationQueue>queue/DLQ</DestinationQueue>
    <MaxTimesRedelivered>10</MaxTimesRedelivered>
    <TimeToLive>0</TimeToLive>
    </DLQConfig>
    </MDBConfig>
    </proxy-factory-config>
    </invoker-proxy-binding>
    But When I try to use Tibco server on some other machine it throws following exception. It actually tryies to connect to Tibco server on same machine.
    javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:748)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:857)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:611)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:1769)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:35)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:90)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:151)
    at com.tibco.tibjms.TibjmsXAQueueConnectionFactory.createQueueConnection(TibjmsXAQueueConnectionFactory.java:140
    at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:152)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
    at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:545)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:767)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy45.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170)
    at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy43.start(Unknown Source)
    at org.jboss.ejb.EjbModule.startService(EjbModule.java:394)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy19.start(Unknown Source)
    at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:605)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
    at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy8.deploy(Unknown Source)

  • Get Message Notification in BPM 10G from External JMS Provider

    Hello,
    Can anyone provide me the steps how to get a message from the queue (external JMS provider) in BPM 10G.
    I have been looking into this for couple of days now and I'm not able to figure it out. Any input on this would be greatly appreciated.
    Thanks
    NC

    Hi,
    Please find the steps below and change the necessary parameter according to your requirement.
    JMS Configuration and read the message from queue a
    1) Configure a J2EE Configuration in External Resources with the following details.
    Where
    Name: J2EEConfiguration
    Initial Context Factory: weblogic.jndi.WLInitialContextFactory
    URL: t3://localhost:7001
    Principal: weblogic
    Credentials: weblogic
    2) Configure a JMS Configuration in External Resources with the following details
    Where
    Name: JMSConfiguration
    J2EE: J2EEConfiguration
    Destination Type: Queue
    Lookup Name: com.bibhu.queue – Refer to JMS configuration in Weblogic Server
    Connection Factory Lookup Name: com.bibhu.cf – Refer to JMS configuration
    3) Configure a Java Configuration in External Resources with the following details
    Add weblogic.jar, wsclient.jar, and jms.jar files
    4) Create a process and add a Global automatic Activity with the following configuration
    5) Add the following code for different purpose
    // The below code is meant for reading a message/messages from Queue
    logMessage("JMS message retrieved from queue: \n" + message.textValue);
    // The below code is meant for sending message to the Queue Where,
    // JMSConfiguration: is the External Resource Configuration for JMS
    // Bibhu: is the message body
    String externalResourceId = "JMSConfiguration";
    String msgBody = "Bibhu";
    JmsMessage jmsMsg = JmsMessage(type : JmsMessageType.TEXT);
    jmsMsg.textValue = msgBody;
    jmsMsg.expiration = 'now' + '5m'; // expires in 5 minutes
    sendMessage(DynamicJMS, configuration : externalResourceId, message : jmsMsg);
    hope the above will help you.
    Bibhu

  • Trying to start the j2ee to be the JMS provider but why error

    Anyone knows why I can't start the j2ee ..which I hope to use it as the JMS provider. I am trying to try the e.g. from JMS tutorial....
    But it seems that I can't start the j2ee in the first place 'cos error say that I have another instance running...(but I didn't start anything in the first place). How should I solve this?
    How could I stop the j2ee server....I tried the command
    j2ee -stop but cannot..
    Anyone can help?
    AG
    G:\jmseg\simple>j2ee -verbose
    J2EE server listen port: 1050
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMg
    r.java:134)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:227)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMg
    r.java:134)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:227)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:355)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    J2EE server reported the following error: Could not initialize j2ee server. Poss
    ible cause could be another instance of the server already running.
    Error executing J2EE server ...
    G:\jmseg\simple>

    I got exactly the same message when I tried to start j2ee server... It worked fine the second time round though, So I suggest you try it again.
    tim..

  • Configuring WL JMS as a foreign JMS provider with security scope (WLS 8.1)

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

  • JMS Adapter Configuration (Access JMS Provider Generically)

    Hi Exports,
    How can i configure JMS adapter Using Access JMS Provider Generically, where can we mentioned target server. there is Quename and username and password but there is no target server details field. could you please give me suggetion how to configure this.

    Hi,
    This will help you
    JMS Adapter
    /people/kan.th/blog/2007/02/05/exploring-jms-and-sap-xi-jms-adaper
    http://help.sap.com/saphelp_nw2004s/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    Sender Jms Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Receiver Jms Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    Regards
    Agasthuri Doss

  • How to increase the limitations of the JMS provider?

    How can I increase the limitations of the JMS provider to tolerate multiple concurrent consumers? The platform I am working on is SUN application server's Admon Console.

    I think the following link can help you:
    http://docs.sun.com/app/docs/doc/819-4712/6n6rit5jc?a=view
    Anyway you should use the following forum about JMS:
    http://forum.java.sun.com/forum.jspa?forumID=29

  • XI JMS adapter after JMS provider reboot

    Hi All,
    I have problem with XI JMS adapter. Adapter is in a JMS client role and JMS provider is Tibco. After reboot of JMS service in JMS provider, XI JMS adapter loose username and pw in connection and try logon to queue as an anonymous user.
    After deactivation + activation of XI JMS adapter, connection seems to work correctly with uname & pw.
    In JMS adapter we have folloving settings and we are connected straight into queue:
    Transport Protocol = SonicMQ JMS Provider
    General JMS Settings:
    Transactional JMS Session is in use
    Delivery Mode of Message Producer = Persist JMS messages..
    + Queue user & pw
    Error Handling Settings:
    Wait After Message Error(msecs) = 60000
    Wait Before Reconnect(msecs) = 60000
    Does anyone ran into this earlier?
    Thanks in advance.
    -Kimmo

    Hi Saravana,
    It seems that no connection is available to queue. In JMS adapter are you using correct path for finding these provider specifig classes in front of class name. Example: javax.jms.QueueConnectionFactory
    It is also possible that username of JMS provider which you configure to JMS adapter does not have correct rights for reading/writing or accessing to queue.
    We are not using any additional settings for JMS adapter. For server name we have also added protocol which is tcp://<servername> and using transactional JMS session.
    We had this same error when trying connect to queue via JNDI. Then we changed JMS adapter to connect straight to queue and it started to work.

  • XI to IBM Websphere Default JMS Provider with JNDI

    Hello everybody!
    We face a problem with connecting SAP XI to IBM WebSphere Default JMS Provider (need to send a message from XI to WebSphere JMS and receive the response).
    We have the following versions installed:
        SAP XI: 7.0 SP8 , Sun JDK 1.4.2
        IBM WebSphere: IBM WebSphere Application Server ND, 6.0.2.17, J2RE 1.4.2 IBM
    We cannot set the JMS adapter of SAP XI for conecting with IBM WebSphere Default JMS Provider. The Communication Channel has erroneous state (at runtime) and the Communication Channel Monitoring tool displays the error message as described below (under "Variant 1" and "Variant 2" sub-headings) depending on the settings performed. 
    For connecting, the following JMS-provider settings were used at IBM WebSphere side:
       JMS Providers: Default Messaging Provider
       Queue Connection Factories: name:QueueConnectionFactory, jndi:jms/QueueConnectionFactory, provider: Default Messaging Provider
       Queues: name Queue, jndi: jms/Queue, provider: Default Messaging Provider
    The XI communication channel (and associated JMS-adapter) was set as Variants 1 and 2 show. Settings for both cases and received error messages were the following:
    <b>Variant 1.</b>
        Adapter type: JMS
        Type: Receiver
        JMS Provider: Access JMS Provider with JNDI (Java Naming and Directory Interface)
        JNDI Lookup Name of QueueConnectionFactory:  jms/QueueConnectionFactory
        JNDI Lookup Name of JMS Queue: jms/Queue
        Name of JNDI Initial Context Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl
        JNDI Server Address: iiop://WEBSPHERE.HOST:2809/ 
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state and the following error message is written:
        "Error during channel initialization; exception trace: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of jms/QueueConnectionFactory.
    at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)"
    <b>Variant 2</b>
        The same settings as in Variant 1 above, were used and additionally the following settings were done:
        - Name of JNDI Initial Context Factory: com.ibm.websphere.naming.WsnInitialContextFactory
        - The archive aii_af_jmsproviderlib.sda containing libraries required by WsInitialContextFactory, was deployed to the SAP WebAS where the XI is running. Those libraries were taken from WebSphere Application Server Pluggable Application Client installation package (described in the article "WebSphere Application Server Pluggable Application Client" located at http://www-128.ibm.com/developerworks/websphere/library/techarticles/0409_bhogal/0409_bhogal.html)
        - Also, as it is recommended in the referred article, the files required by IBM's iiop protocol (ibmext.jar ibmorb.jar ibmorbapi.jar) were put to the folder jre/lib/endorsed of the server(Sun JVM 1.4.2 is used by SAP WebAS / XI).
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state as well and the following error message is written:
       "No adapter registered for this channel"
    We have not found the recommended solution either in SDN forums or in Internet in general. Is it yet possible to connect SAP XI to IBM WebSphere Default JMS Provider having mentioned product versioning? If yes, what settings have to be performed?

    IBM Websphere Default JMS Provider which is installed alongwith the application server is nothing but a scaled down version of the IBM WebSphere MQSeries. you should be able to connect to it with the same settings that can be used for a separate MQSeries server connectivity from XI.

  • How to integrate Websphere MQ as an external JMS Provider?

    Hello to all!
    I'm trying to integrate Websphere MQ in SAP Web AS 6.40 as an external JMS provider and I'm having some problems. As the use of SAP XI is impossible for me, I started using the built-in JMS Connector.
    I've already read (and tried to follow) the documentation in http://help.sap.com/saphelp_nw04/helpdata/en/cd/4d4941abbb4c0de10000000a1550b0/frameset.htm, but unfortunately, it didn't help me that much.
    It told me that the JMS Connector is the right place to start, and I already managed to deploy and define the Websphere MQ JMS implementation as a library. And from various examples I'm quite sure that Websphere MQ is an JNDI based JMS provider. But now the problems start.
    According to the SAP library mentioned above, I have to enter the JNDI name to the ConnectionFactory in the "New ConnectionFactory" dialogue in the "Provider" tab. As an example there is the (existing) JNDI name "jmsfactory/default/TopicConnection". For doing the same with my Websphere MQ, I expect to need something alike.
    Hoping that I'm getting the SAP library right at this point, I'm expecting to need a JNDI entry, like, let's say, "jmsfactory/WebsphereMQ/QueueConnection" connected to the class "com.ibm.mq.jms.MQConnectionFactory" (MQConnectionFactory is the class in the MQ JMS implementation that implements the JMS interface "Connection Factory"). How can I put those Websphere MQ classes, that are implementing the JMS interfaces like Connection Factory, QueueConnectionFactory and so on
    in my JNDI tree? The point is, obviously, no JNDI entry was made during deploying Websphere MQ as a library.
    Or am I totally wrong an misunderstood the SAP library completely? Any help on this topic would be highly appreciated.
    Best greetings!
    Bärbel

    Integrating WebSphereMQ with SAP Web Application Server
    Prerequisites
    The native libraries of WebSphereMQ must be added to the environment variables of the host or hosts where the SAP Web AS is running. Typically, if MQ is installed on the same host, the required entries are added to the environment at installation. However, we recommend that you check the MQ documentation for details about the directory where the libraries are located, and make sure it is added to the environment on all hosts with SAP Web AS.
    For example, for Windows OS the following libraries are required:
    -     amqmtmgr.dll
    -     amqvwaa2.dll
    -     amqxcs2.dll
    -     amqxcsn.dll
    -     amqzc.dll
    -     amqzsai.dll
    -     amqzst.dll
    -     amqztm.dll
    -     mqjbdf02.dll
    -     mqjbnd05.dll
    -     mqm.dll
    -     mqmvxd.dll
    -     mqmxa.dll
    -     MQXAi02.dll
    Procedure
    1)     If the version of the SAP Web AS is SP 7 or lower, you must apply a patch for the JMS Connector Service. The required SDA is attached to this e-mail (jmsconnector.sda). To apply it:
    a.     Run the SDM Remote GUI tool. It is located in <SAP_install_dir>\SAPSID\<Instance_ID>\SDM\program.
    b.     In the Deployment tab, add the jmsconnector.sda to the deployment list. Choose   Show Deployment Configuration. Select Update deployed SDAs/SCAs that have any version (this ensures that you will have the SDA deployed even if for some reason its timestamp is older than the one of the SP7 SDA that you already have deployed.)
    c.     Deploy the SDA following the standard deployment procedure. If prompted to choose if you want to delegate the control to the SDM server, choose Yes. The SDM shuts down the cluster, deploys the SDA, and then restarts the cluster.
    2)     Create the IBM MQ library. You can do it using either Visual Administrator or SAP NetWeaver Developer Studio.
    a.     Visual Administrator:
    i.     Go to Services -> JMS Connector.
    ii.     Select JMS Libraries, and choose New.
    iii.     Enter a name for the library, such as MQJMSLIB.
    iv.     Browse to select the following JAR files:
    - com.ibm.mq.jar
    - com.ibm.mqbind.jar
    - com.ibm.mqjms.jar
    - fscontext.jar
    - ldap.jar
    - postcard.jar
    - provider.xml
    - providerutil.jar
    v.     Deploy the library.
    vi.     Go to Services -> Configuration Adapter. In the configuration tree on the right-hand side of the screen browse to cluster_data -> server -> cfg -> ext -> MQJMSLIB-provider.xml. Switch to edit mode using  . Open the XML for editing using  . Add the following entry (after the reference entry for jms):
    <reference type="library" strength="weak">j2eeca</reference>
    Choose OK and restart the cluster to apply the changes.
    b.     SAP NetWeaver Developer Studio:
    i.     Create a J2EE Library project.
    ii.     Select the project and choose File -> Import -> File System. Browse to the MQ folder, which contains the JAR files listed above, and select to import them.
    iii.     Extend the tree of your library project and open server/provider.xml. Go to the Jars tab.
    iv.     Select Jars, and choose Add. Choose to add the JAR files that you have imported in the previous step.
    v.     Go to the References tab. Select References, and choose Add. Choose Select library/interface/service. In the list select jms and j2eeca.
    vi.     Save and close provider.xml. From the context menu of the library project choose Build Library Archive.
    vii.     Select the SDA in the project tree, open its context menu, and choose Deploy to J2EE Engine.
    3)     Create a JMS Connector Factory in Visual Administrator.
    You can either enter the required values directly in the Visual Administrator (Services -> JMS Connector), or you can edit the following sample deployment descriptors and import them in Visual Administrator using  .
    a.     Using JNDI:
    This is example of factories.xml using JNDI based JMS provider.
    <?xml version="1.0" encoding="UTF-8" ?>
      <jms-factories>
        <application-name>
          IBM_Test_App
        </application-name>
        <connection-factory>
          <library-name>
            MQJMSLIB
          </library-name>
          <factory-name>
            IBM_Queue_Factory
          </factory-name>
          <context-factory-type>
    <!—This factory should already exist on WebSphereMQ.-->
            <link-factory-name>
              QCF_1
            </link-factory-name>
            <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
            </initial-context-factory>
            <provider-url>
              file:/C:/JNDI-Directory
            </provider-url>
            <security-principal>
            </security-principal>
            <security-credentials>
            </security-credentials>
          </context-factory-type>
        </connection-factory>
      </jms-factories>
    b.     Using object factory JMS provider
    <?xml version="1.0" encoding="UTF-8" ?>
      <jms-factories>
        <application-name>
          IBM_Test_App
        </application-name>
        <connection-factory>
          <library-name>
            MQJMSLIB
          </library-name>
          <factory-name>
            IBM_Queue_Factory
          </factory-name>
          <object-factory-type>
            <object-factory-name>
              com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory
            </object-factory-name>
            <class-name>
              com.ibm.mq.jms.MQXAQueueConnectionFactory
            </class-name>
            <properties>
              <property>
                <property-name>
                  HOST
                </property-name>
    <!-- JMS Provider host name -->
                <property-value>
                  localhost
                </property-value>
              </property>
              <property>
                <property-name>
                  QMGR
                </property-name>
    <!-- Queue Manager -->
                <property-value>
                  MQ_default
                </property-value>
              </property>
              <property>
                <property-name>
                  PORT
                </property-name>
    <!-- JMS Provider port number -->
                <property-value>
                  1414               
                </property-value>
              </property>
              <property>
                <property-name>
                  TRAN
                </property-name>
    <!-- Transport type -->
                <property-value>
                  1                    
                </property-value>
              </property>
            </properties>
          </object-factory-type>
        </connection-factory>
      </jms-factories>
    4)     Use the connection factory in an application:
    Code:
    Context ctx = new InitialContext();
    Object ref = ctx.lookup("java:comp/env/IBM_Queue_Factory");
    QueueConnectionFactory f = (QueueConnectionFactory)ref;
    QueueConnection connection = f.createQueueConnection();
    Resource references:
                     <resource-ref>
              <res-ref-name>
                IBM_Queue_Factory
              </res-ref-name>
              <res-type>
                javax.jms.QueueConnectionFactory
              </res-type>
              <res-auth>
                Container
              </res-auth>
            </resource-ref>
    If you are using 6.40 SP7 or below let me know to send you a patch.
    Regards Nikola

  • Using SJS MQ 4.0 as JMS provider with JBoss or Apache Geronimo

    Is it possible to integrate SMS MQ 4.0 as the JMS provider for JBoss and / or Apache Geronimo ?
    For JBoss, the only info that I can find is this:
    http://swforum.sun.com/jive/thread.jspa?threadID=45414&messageID=127657
    ... but not too much detail on how to actual configured JBoss.
    Any step-by-step info ?

    Hmm... I installed the client (5.3) and did not get the jmsadmin tool. To me it seems like jmsadmin only comes with the server installation. What is the content of the .bindings file? Is it enough to copy the one from the MQ server or is this something I must create on the server running the Oracle application server? I would guess .bindings is the JNDI bindigs for the queues / factories etc. and will have to match the way queues are configured on the server.
    So far I've found two "useful" resources:
    http://download-west.oracle.com/docs/cd/B10464_01/web.904/b10326/jms.htm#1020231
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/Install.html
    The last resource states that MQ server has to be installed on the same server as Oracle Appserver.

  • Using JBOSS JMS provider with XI

    Hi,
    I am connecting XI to a custom Java application developed on JBOSS app server.  The custom application is developed with connectivity using JMS.  I was told that JBOSS has a JMS provider used by the custom app.  Has anyone done this before?  Is it possible for XI to use JBOSS JMS provider?  How difficult is this going to be for synchronous interface?  Any information is greatly appreciated.
    thanks.
    James Chang

    hi,
    first deploy jboss-j2ee.jar,jms.jar,dom4j-full.jar..for deploying these jars into the xi follow this link
    http://help.sap.com/saphelp_nw04s/helpdata/en/33/e6fb40f17af66fe10000000a1550b0/frameset.htm
    then to make use of the JMS adapter follow this link,
    http://help.sap.com/saphelp_nw04s/helpdata/en/4d/a3bc97ff55c742af7faed661635baf/frameset.htm
    hope this will be useful.....
    regards,
    Sundararamaprasad

  • JMS Sender SAP JMS Provide large message problem

    Hi,
    we have configured a JMS sender channel to pick up messages from a queue hosted by our SAP JMS provider. Unfortunately a message of about 6 MB size isn't picked up. Smaller messages are picked up.
    Has anybody experienced a problem like this before?
    Kind regards,
    Heiko

    Hey,
    I guess you are using XML messages:
    We had some problems with large XML messages (e.g more the 10MB),
    This is usally cause by memory problems.
    There are some work-around, like increasing the memory usage of the application server.
    The first thing you do is try to understand where the message stacked (in the ABAP/J2EE).
    If this is a memory problem, changing the memory configuration can improve this,
    but be aware that there are hardware limitation (32bit application server can use with one process only 2GB), therefore messages over 100MB probably will not pass trough XI.
    If you have huge files (e.g more than 100MB)
    You must develop a program that would split the large message into several small messages. the program can not be written in the XI, and should be written before the adapter. (you might install and use in this case the conversion agent)
    If you are using a message with csv format (not XML),
    than it is possible to configure the adapter to split every X lines
    (no program need to be written)

Maybe you are looking for