JMS Adpater Question

I am trying to implement the JMSAdapter in the two way mode.
I have configured the queues and have configured the JMS Adapter appropriately.
I do see the response being generated but the correlation doesn't seem to work.
Error Message:
Fault ID     rejected:60006
Fault Time     Apr 13, 2012 4:44:31 AM
Non Recoverable System Fault :
Cannot complete callback since unable to retrieve SourceURI/Wire from Correlation store. Either Instance Tracking is diabled or no corresponding Request succeeded prior to this callback
The payload details for this rejected message can be retrieved
Any idea what's missing??
I do see the response message on the queue.

Got it to work....had missed setting the Correlation ID in my JMS application :) my bad ..:)

Similar Messages

  • JMS adpater

    Dear Expertise,
    I have some doubts in JMS Adpater.
    1. IS JMS adapter in XI is JMS client?
    2. If JMS adaper CC is in sender mode, will XI pull the data(queues) from JMS server or JMS server will send the data to XI.
    For IDOC to JMS scenario, what are the steps need to be done in repository framework.
    My question is how to send that IDOC data to JMS server. For this, is any message mapping and interface determination required, as I want to send the same IDOC data to JMS server queue.
    Advaced Thanks,
    Gujjeti

    Praveen,
    To work on JMS adapter first you need to install the drivers. Check this document on how to install the drivers:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70ffd890-0201-0010-708f-d5dad2dfcf3a
    Once when you do this it is just like your normal scenario. Check this weblog for some help on how to configure your receiver JMS adapter:
    /people/kan.th/blog/2007/02/05/exploring-jms-and-sap-xi-jms-adaper
    Also check this for some info. on JMS adapter:
    /people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
    ---Satish

  • JMS Adpater Error

    Hi all
    I configure the JMS receiver Adpater of webSphereMQ
    but i got the error as followed:
    <b>Receiver channel. Details: MQJMS2005: failed to create MQQueueManager for '172.31.235.100:QM_Test'</b>
    I have a doubt:
    The XI and MQ are in the same server, should i configure the network of MQ such
    as the domain MQM or something else
    and i have searched this issue in this forum, but there is no solution
    I am eager for your reply
    And Thanks in advance

    Hi Leo,
    have u seen these..
    configuration of JMS  adapter Using WebSphereMQ
    SAP XI and JMS for WebSphere MQ
    connection with the JMS provider
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • JMS queue question

    Hi all,
    I am using Weblogic Application Server and say I have 1000 messages in a JMS Queue say "Q1".
    Q1. How are these messages picked up from the queues? i.e. by a thread etc.
    Q2. If they are picked up by threads then who configures these threads? Are they default threads created by the Weblogic Application Server or are user-created threads?
    Q3. Also, if 20 threads are involved in picking the messages from the queue and of them one thread snaps while picking the message then what will happen? and what will be the solution??
    Thanks.

    Q1/Q2*:
    The answer to your question is "its provider specific".
    You will need someone who explicitly works on weblogic to provide specifics so you may want to utilize a weblogic specific forum instead of a generic JMS forum
    I'll try to answer this in very generic terms that should apply to all providers:
    If you are receiving messages with an MDB: there is a thread pool associated with the resource adapter which plugs the JMS provider into the server. This is generally configured as part of the application server configuration. That pool dictates the maximum number of threads which can call the same MDB's at the same time.
    If you are receiving messages with a Servlet: In this case, you are probably calling receive within the servlet. That will use the thread provide by the webstack which is executing the servlet
    If you are receiving messages in an AppClient or Standalone provider: You are using your own thread if you call receive(), or a thread provided by the provider if you are calling onMessage()
    In all cases, the provider may be allocating additional threads "beneath the covers" to process those messages.
    Q3*:
    I'm not quite sure what snaps means. Threads run until they exit. I'm going to guess that the question is "what if the MDB or code throws a RuntimeException". If you mean something different, please supply a more specific description of the error.
    This one depends on what whether or not you are using transactions and how you are receiving those messages.
    If you are using transactions in an MDB: the transaction will rollback and the message will be redelivered to another consumer.
    In all other cases, it depends on the specifics (I was going to list them but it seems like to much work for a Friday afternoon).
    If you are using a non-transacted or non-MDB method to retrieve the messages, let me know and I can tell you how, per the JMS and J2EE specs, it should work. I'll need to know acknowledge mode/transaction, type of client and if you are calling receive() or onMessage().
    -- Linda

  • JMS - Use question

    Hey Folks,
    Just reading a book on JMS for the first time and i just have a few philosophical questions on the use of it. In the book it gives me an example of setting up a JMS queue and then using a MDB to receive a message and then does a credit check on a customer!!
    So after one has gone through all the hassle of configuring your factories,setting up your queue, creating your MDB and then configuring it your are finally ready to write code to do your business requirements!!
    Now my first thought were, why would i do all that work just to do a credit check on a customer asynchronously, if i was using plain old POJO�s , why wouldnt i just spin off a thread to do this for me in the backround instead of having to do all the above?? So what am i missing here??
    Next point that i need some clarity on is more related to a production setup. Say i have 10 nodes, does one just create one JMS channel that all 10 nodes use or do they each have a channel for every node?? If they have a channel for every node then why would i use JMS?? Ok loose coupling, great but i can get that if i create my own observer pattern, what extra will it give me than a normal observer pattern?? I assume in the above scenario that you have no external applications listening, so everything that needs to listen for the message is in your JVM!! I understand if you have SAP or any other external applications listening
    Last but not least, is it fair to make a comparison JMS to tibco messaging bus?? If so why, if not why?? ;)
    Thanks for any help on the matter, like i said im just reading up on it now and need a few thoughts cleared up!!
    Cheers,
    LL

    > So when you say chained, i take it you can set the
    order in which you want your beans to be called
    first(assuming in a topic scenario where you have
    several listeners)?? is that possible with JMS?? if
    so how??
    We've written a custom Process Manager that receives messages and uses XPath and XSL to coordinate several JMS applications (all of our messages are XML). We typically don't use topics because we don't want multiple applications getting the same message. Each application does its work in turn, not at the same time.
    > Yeh i can see how it would work in this scenario but
    you still have other options to solve this problem
    without the need of JMS!!
    There's always more than one way to solve a problem.
    > i suppose im looking for a scenario where i would say
    to myself, yes thats a job for JMS!! And in this
    scenario exclude the need to talk to external
    applications!!
    I wouldn't want to design a large system with multiple teams working on multiple applications, each with its own processing needs without JMS. Tuning is pretty easy. Adding more horsepower at any point in the chain is pretty easy.
    But it may be that I just reach for the tools that I am most familiar with.
    Dwayne

  • JMS Transaction Questions

              Greetings,
              I have the following questions regarding Transactions in JMS:
              1. What constitutes a transaction in JMS? Assuming there are 2 clients, one which
              is just a Subscriber and the other just a Publisher. What will constitute a transaction
              in this scenario?
              2. While configuring, JMS Connection Factory, a parameter present is " Transaction
              Timeout ", with a defualt value of 3600 secs. At what point, does this time starts
              ticking ? Is there anyway to disable this value or the only solution is to increase
              it as required.
              

              vinay s wrote:
              > Greetings,
              >
              > I have the following questions regarding Transactions in JMS:
              > 1. What constitutes a transaction in JMS? Assuming there are 2 clients, one which
              > is just a Subscriber and the other just a Publisher. What will constitute a transaction
              > in this scenario?
              >
              A receive or send operation performed under a transaction. The operation
              becomes transactional.
              >
              > 2. While configuring, JMS Connection Factory, a parameter present is " Transaction
              > Timeout ", with a defualt value of 3600 secs. At what point, does this time starts
              > ticking ? Is there anyway to disable this value or the only solution is to increase
              > it as required.
              This applies to transacted sessions. A special kind of transactional behavior
              unique to JMS. WL JMS also supports user transactions (JTA), which
              is more unique.
              Note that 3600 seconds is a long time, standard transactions actually
              default to a limit of 30 seconds...
              To learn about this stuff, I recommend reading the WebLogic JMS Programmer's guide - there
              is a chapter on
              transactions. Check out the performance white-paper I posted to this newsgroup last
              Thursday - there is
              a section in there on transacted sessions vs. user transactions...
              

  • Reciever JMS Adpater Error

    Hi Experts,
    I am getting following error in Reciever JMS adapter:
    I am using transport protocol is Acces JMS provider with JNDI
    Channel error occurred; detailed error description: com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=http://168.89.59.82:7005/, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory}for profile: ConnectionProfile of channel: CC_eRespond_ServiceTicketson node: 8273250 having object id: d72754188a053d43b6aa0dd420346941: javax.naming.CommunicationException
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:66)
    Can anyone please tell me what is the cause of this error.
    Kind Regards,
    Praveen.

    Hi Experts,
    We are sending messages from XI to Weblogic server with the help of JMS Adapter. The Queue is available in Weblogic server.
    Our configuration of JMS receiver Adapter is
    JNDI Lookup Name of Queue Connection Factory----
    ConnectionFactory
    JNDI Lookup Name of JMS Queue----
    queue/IntegrationQueue
    Name of JNDi Initial Context Factory: -
    weblogic.jndi.WLInitialContextFactory
    JNDI Server Address:----
    weblogic server ip
    JNDI Logon User: -
    user
    JNDI Password: -
    password
    Could you please help us.
    The Error message as follows
    Channel error occurred; detailed error description: com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=http://IP:port/, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory}for profile: ConnectionProfile of channel: CC_eRespond_ServiceTicketson node: 8273250 having object id: d72754188a053d43b6aa0dd420346941: java.lang.NoClassDefFoundError
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:66)
    Regards
    Praveen

  • Special Char disappear after the JMS Adpater

    Hi all,
    I have a problem and nees help because I don't know the solution.
    We send a flat Idoc via a JMS Adapter from XI to a Websphere Queue.
    The flat Idocs have special chars like "ø", "ö", "ä"...
    Unforunately in the message on the queue (after the JMS adapter) we miss this chars and one char behind the special char. They are away.
    In XI I can see that the char are there.
    So I think the that JMS adapter removes this files.
    Can you help me please? What do I need to change in the JMS adapter?
    Thanks and regards
    Manuela

    sounds like an encoding problem. Seems there is a way to change the encoding at the JMS receiver side.
    Have a look at this thread : Re: Change encoding from utf-8 to iso-8859-1 in JMS receiver!

  • JMS adpater issue in XI to MQ

    Hi,
    I am trying to connect XI 3.0 with MQ 5.3. I have done all the mappings in Int. rep. and configurations in the Int. directory. I am using an Outbound JMS adapter to pick up the file from MQ. The details like channel name etc. are given correctly. The integration isn't happening in spite of all these and the MQ driver installation. I would like help on some areas.
    - I am not able to see any log file on what went wrong. I tried sxi_monitor but there were no messages. I tried the Runtime workbench but that isn't listing the JMS adapter. SAP says that it will be listed only after it starts working.
    - The file exists in 'text' format in MQ. So I am not using any conversion in Module in the Outbound JMS adapter.
    - Is there anything else to watch out for in the Int. directory configurations?
    - Does MQ have to reside in XI ? Right now it's in a separate server
    regards,
    Madhavan

    Hi Madhavan,
    A valid 'JMS adapter channel' as sender, and any Sender Agreement refering to this channel, should make the JMS adapter in green.
    In Adapter Monitor, if the status of 'JMS' is:
    1. Not visible in list: Then reimport SCV: 'Basis components' in IR.
    2. GREY: Then no JMS channel is defined or activated. Its a cache problem. Refresh the Directory cache, and check again in monitor.
    3. RED: The list of channels is displayed, and the error message is given. Accordingly you could fix it.
    4. GREEN: No problems. But if it hasn't processed any messages, it shows as - "Sender Channel. (No Details available)". To verify if the channel is really working, try to change the MQ Server name / Queue name to cause an error - and Adapter monitor shows RED for JMS. This indicates that earlier connection was successfully established.
    What is the status in your case?
    See if this information helps to fix yourself..
    regards,
    Pops V

  • JMS Adapter question

    Hi,
    Is it possible to use a different jndi-factory other than teh default WL one: weblogic.jndi.WLInitialContextFactory?
    also if my jms accepts only client cert ssl authentication, is it possible to setup this in Oracle CEP? I am getting all kinds of errors
    when I try to do any of the above and the documentation seems to layout only default scenarios so not enough details. I am getting this error:
    org.springframework.beans.FatalBeanException: Error in context lifecycle initialization; nested exception is java.lang.Exception: Error initializing JMS connection: javax.naming.NoInitialContextException: The JNDI initial context factory "com.sun.jndi.fscontext.RefFSContextFactory" either cannot be loaded or it does not exist.
    I added all required jar files for this jndi-factory in runtime lib in Manifest.mf but it is not loading at all.
    Anybody tried something similar to this? any pointers?
    Thanks,
    Firas

    Hi Andy,
    I changed it to Debug and got the following stack:
    <Mar 10, 2010 2:53:46 PM EST> <Notice> <Deployment> <BEA-2045000> <The application bundle "mmxHelloWorldd" was deployed successfully to file:/E:/oracle/Middleware/user_projects/domains/ocep_domain/defaultserver/applications/mmxHelloWorldd/mmxHelloWorldd.jar with version 1268250825479>
    <Mar 10, 2010 2:53:50 PM EST> <Debug> <Adapters> <BEA-000000> <InboundJmsAdapter.beforeResume was called>
    <Mar 10, 2010 2:53:50 PM EST> <Debug> <Adapters> <BEA-000000> <JNDI lookup failed for QueueConnectionFactory from provider file://E:/Firas/mmx/jndi/bindings/
    java.lang.ClassCastException: javax.naming.Reference
         at com.bea.wlevs.adapters.jms.JmsAdapter.beforeResume(JmsAdapter.java:109)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter.beforeResume(InboundJmsAdapter.java:74)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter$$FastClassByCGLIB$$fc18e7ee.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.spi.AbstractStageProxy.invoke(AbstractStageProxy.java:78)
         at com.bea.wlevs.eventstore.recplay.RecordPlayProxy.invoke(RecordPlayProxy.java:255)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.spi.AbstractStageProxy.invoke(AbstractStageProxy.java:78)
         at com.bea.wlevs.monitor.internal.MonitoringProxy.invoke(MonitoringProxy.java:165)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter$$EnhancerByCGLIB$$b6867280.beforeResume(<generated>)
         at com.bea.wlevs.spring.ActivationBeanPostProcessor.preProcessBeforeContextResume(ActivationBeanPostProcessor.java:27)
         at com.bea.wlevs.spring.DeferredBeanPostProcessor.beforeResume(DeferredBeanPostProcessor.java:33)
         at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:114)
         at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
         at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
         at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
         at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
         at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
         at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
         at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
         at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
         at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    <Mar 10, 2010 2:53:50 PM EST> <Error> <Deployment> <BEA-2045010> <The application context "mmxHelloWorldd" could not be started: org.springframework.beans.FatalBeanException: Error in context lifecycle initialization; nested exception is java.lang.Exception: JNDI lookup failed for QueueConnectionFactory from provider file://E:/Firas/mmx/jndi/bindings/
    org.springframework.beans.FatalBeanException: Error in context lifecycle initialization; nested exception is java.lang.Exception: JNDI lookup failed for QueueConnectionFactory from provider file://E:/Firas/mmx/jndi/bindings/
         at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:136)
         at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
         at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
         at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
         at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
         at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
         at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
         at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
         at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
         at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: java.lang.Exception: JNDI lookup failed for QueueConnectionFactory from provider file://E:/Firas/mmx/jndi/bindings/
         at com.bea.wlevs.adapters.jms.JmsAdapter.beforeResume(JmsAdapter.java:120)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter.beforeResume(InboundJmsAdapter.java:74)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter$$FastClassByCGLIB$$fc18e7ee.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.spi.AbstractStageProxy.invoke(AbstractStageProxy.java:78)
         at com.bea.wlevs.eventstore.recplay.RecordPlayProxy.invoke(RecordPlayProxy.java:255)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.spi.AbstractStageProxy.invoke(AbstractStageProxy.java:78)
         at com.bea.wlevs.monitor.internal.MonitoringProxy.invoke(MonitoringProxy.java:165)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapters.jms.InboundJmsAdapter$$EnhancerByCGLIB$$b6867280.beforeResume(<generated>)
         at com.bea.wlevs.spring.ActivationBeanPostProcessor.preProcessBeforeContextResume(ActivationBeanPostProcessor.java:27)
         at com.bea.wlevs.spring.DeferredBeanPostProcessor.beforeResume(DeferredBeanPostProcessor.java:33)
         at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:114)
         at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
         at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
         at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
         at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
         at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
         at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
         at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
         at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
         at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    <Mar 10, 2010 2:53:50 PM EST> <Notice> <Deployment> <BEA-2045001> <The application bundle "mmxHelloWorldd" was undeployed successfully>

  • BPEL JMS Adpater to publish message to B2B Internal Delivery Channel

    We are planning to use the JMS adapter in BPEL to publish message to B2B Internal Delivery channels. But during the JMS Adapter configuration it doesnt list the B2B Internal queues (IP_OUT_QUEUE and IP_IN_QUEUE) in the list of queues. However for AQ Adapter in BPEL, during the AQ Adapter configuration its lists the queues(IP_OUT_QUEUE and IP_IN_QUEUE) in the list of the queues. We used the same database connection and user for both the adapters. The B2B queues are in the B2B repository.
    Can we use the JMS Adapter in BPEL to publish message to B2B internal delivery channel and if so is there any other configuration we need to do?

    You can use the default AQ to pub/sub messages in/out of the IP_IN and IP_OUT Qs.
    However, if you still need to use JMS, then make the B2B listen to this JMS Q and then use the JMS adapter.
    Using the default AQ should be robust and simple. But, again we have seen several customers implementing in thrid party JMS providers as per their business scenarios.
    Regards
    Anirudh Pucha

  • JMS Specification Question regarding persistent messages and reliability.

    In section 6.15 of the JMS Specification, titled reliability it is stated that:
    "When all messages for a topic must be received, a durable subscriber should be used. JMS insures that messages published while a durable subscriber is inactive are retained by JMS and delivered when the subscriber subsequently becomes active.
    Nondurable subscribers should be used only when missed messages are tolerable."
    Then in a table following the above text it states that a nondurable subscriber on a topic flowing persistent messages will receive a message "once-and-only-once (missed if inactive)."
    To me this implies that if a nondurable subscriber is active, it is guaranteed to receive all persistent messages published to the topic while it is active. However there seems to be some ambiguity about what it means to be "active." Does active mean subscribed, does it mean subscribed and not busy processing messages, something else?
    I ask this because I'm seeing a somewhat slow subscriber not receiving all persistent messages published while it is subscribed. This was surprising to me, given my interpretation of this reliability clause, so I'm wondering if I have not interpreted it correctly in this case.
    Could anyone fill me in, particularly if you had something to do with writing the spec or can point me to the rationale behind this portion of the spec?
    Thanks,
    Jeff Singer

    I am looking at the JMS 1.1 Spec version 1.1 April 12, 2002.
    Section 4.10 "Reliabilty" has what reads to me as kind of a CYA statement that the contributing JMS providers got inserted. It reads:
    "A JMS provider may have resource restrictions that limit the number of messages that can be held for high-volume destinations or non-responsive clients. If messages are dropped due to resource limits, this is usually a serious administrative issue that needs attention. Correct functioning of JMS requires that clients are responsive and that adequate resources to service them are available.
    +
    +
    +Once-and-only-once message delivery, as described in this specification, has the important caveat that it does not cover message destruction due to message expiration or other administrative destruction criteria. It also does not cover loss due to resource restrictions. Configuration of adequate resources and processing power for JMS applications is the job of administrators, who must be aware of their JMS provider's reliability features."
    +

  • SOA JMS design question

    I have a SOA11g application with the following
    Web Service ---> Mediator ----> JMSAdapter (Produce Pattern)
    (Consume Pattern) JMS Adapter ---> Mediator ----> DB Adapter
    This application will receive XML messages from the web service and store it in a JMS topic (persistent) and later distribute it among the consumers. I am trying to implement a simple use case wherein , when the message is received from the webservice and persisted in the JMS topic. I need to send an acknowledgment back to the external system. How can I implement it. Will the JMS request/reply pattern be of any help? Is there any similar example available.
    Thanks

    I have a similar situation here and using mediator to consume_message from a AQJMS resource. It does not seem to work.
    Here's what I did
    - Configured AQ on a different server than SOA suite
    - Set up a datasource in SOA server to connect to database having the AQ, used Oracle Thin XA driver. JDBC datasource user same as the AQ owner.
    - Created a JMS module.
    - In the module, created a Foreign Server resource and with the default targeting
    - Using the foreign server’s General Configuration tab, set the JNDI Initial Context Factory to oracle.jms.AQjmsInitialContextFactory and added the datasource property to the JNDI Properties field and set its value to the JNDI name of the data source created for accessing AQ.
    - Set up the foreign server’s connection factories. Remote JNDI Object javax.jms.XAQueueConnectionFactory
    - Set up the foreign server’s destinations using its Destinations Configuration tab as Queues/<AQ queue name>
    - Created a composite to read from JMS adapter pointed to the JMS Destination local JNDI, using a mediator
    (Consume Pattern) JMS Adapter ---> Mediator ----> TIBCO Adapter
    Deployed composite successfully, but it does not dequeue the messages from AQ neither thorws any fault. In fact no instance were created
    This does not seem to work, can anyone help

  • RMI or JMS design question

    Hi Folks,
    We have an application where in we have to read the requests from a file and write the responses to another file. Each request has to be passed to EJB container which processes it returns the response. There are around 500000 messages in the file.
    For Performance reasons what would you suggest
    RMI or JMS
    Thanks in advance for your suggestions
    Rajeev

    You need to define your criteria for the solution.
    RMI = Synchronous
    JMS = Asynchronous

  • JMS architecture question for fat client/server.

    Hi. Is JMS suitable for fat client-server architecture where a certain number of fat client applications (like a few hundreds) open connections directly to the JMS provider? Is it going to have scalability problem when the number of connections grow?

    Depending on your JMS provider, this may be a very suitable architecture. The Sun MQ JMS Cluster was architected exactly for this problem. If the number of connections onto a single broker becomes too much of a burden for this broker, it can be put into an MQ cluster and share the number of connections. Of course, the number of connections a broker can handle will be totally dependent on the resources available to it. OS, CPU, memory, other applications running on the same machine, etc....
    TE

Maybe you are looking for