Message dispatching with topics

We have some mission critical data that is produced by a production system. This data is sent to our test- and development servers using a JMS queue.
          We can't generate the data and need it both for development and testing. About 10 systems must be provided with it.
          Using a distributed queue doesn't make sense, as the messages usually get divided up to the various JMS clients in a round-robin fashion, so no one will receive the consistent set of messages (completeness and order of delivery are relevant). And we are using WL 8.1.5 clusters, which makes things more complicated.
          Our first suggestion was to create a 'message dispatcher topic' that is plugged to the queue using a message bridge, thus duplicating the queue messages to all stake holders. Unfortunately due to the cluster and the topic we get duplicate messages.
          What would be the correct setup for this problem ?

Thank you for your reply, but I just don't get it.
          How dies splitting the distributed topic into separate instances with a fake relationship over the JNDI name help here ?
          Our problem is that we have singular message instances that must be distributed to several systems during development. However the system is designed to use queues and not topics.
          So we use fake topics as 'message duplicators'.

Similar Messages

  • How to retreive all unconsumed messages from a topic with a MDB?

    Hello!
    I have a webapp that stores TextMessages in a Topic in WebLogic.
    I have an ejbapp (Message driven bean) that reads messages from the topic.
    If both are up and running the ejbapp reads all messages sent from the webapp to the topic.
    But if I stop the ejbapp for a while and sends a couple of messages to the topic and then deploy the ejbapp again, then the ejbapp does not read the unconsumed messages. If I send a new message to the topic the ejbapp reads that new messages but it does not get the previous messages that are on the topic.
    Is this the way it should work? Or could I get the message driven bean to consume all the messages that it has not consumed from the topic when it starts?
    My weblogic-ejb-jar.xml looks like:
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN' 'http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>OrderManagerMDB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>200</max-beans-in-free-pool>
    <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>jms/OrdersTopic</destination-jndi-name>
    <connection-factory-jndi-name>jms/OrdersConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>And my ejb-jar.xml looks like:
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <ejb-name>OrderManagerMDB</ejb-name>
    <ejb-class>brownbagwarehouse.OrderManagerMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Topic</destination-type>
    </message-driven-destination>
    </message-driven>
    </enterprise-beans>
    </ejb-jar>My MDB onMessage looks like:
    public void onMessage(Message message)
    try
    TextMessage textMessage = (TextMessage)message;
    System.out.println(textMessage.getText());
    catch(Exception e)
    e.printStackTrace();
    }Best regards
    Fredrik

    I am not much familiar with Weblogic, but i would suggest, you do a search for how to setup "Durable Subscriptions" in Weblogic. This will ensure the the messages that were sent when the consumer was not available, will be delivered once the consumer is available

  • Unable to resolve 'weblogic.messaging.dispatcher.S:null'

    We have a WLS 10.3 cluster with 1 admin server and 2 managed servers. Each managed server hosts JMS queues so we have a distributed queue environment. Applications periodically report an issue that prevents messages from being dropped onto the queues. The frequency of the issue is weekly and sometimes multiple times during the week. We have found that un-targeting and re-targeting the JMS Servers seems to resolve the problem (at least in the short term). The message producer applications are using the weblogic.jar and an xa connection factory. I've included the stack trace below. I'm hoping that someone can help uncover the root cause of the issue.
    Stack Trace:
    Caused by: weblogic.jms.common.JMSException: No failover destination.
    at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
    at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:61)
    at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1275)
    at weblogic.jms.client.JMSProducer.deliveryInternal(JMSProducer.java:783)
    at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:541)
    at weblogic.jms.client.JMSProducer.sendWithListener(JMSProducer.java:394)
    at weblogic.jms.client.JMSProducer.send(JMSProducer.java:384)
    at weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java:970)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:597)
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:574)
    at org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:551)
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
    ... 8 more
    Caused by: weblogic.jms.common.JMSException: No failover destination.
    at weblogic.jms.frontend.FEProducer.pickNextDestination(FEProducer.java:750)
    at weblogic.jms.frontend.FEProducer.sendRetryDestination(FEProducer.java:1092)
    at weblogic.jms.frontend.FEProducer.send(FEProducer.java:1399)
    at weblogic.jms.frontend.FEProducer.invoke(FEProducer.java:1460)
    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
    at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:276)
    at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:141)
    at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
    at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: weblogic.messaging.dispatcher.DispatcherException: could not find Server null
    at weblogic.messaging.dispatcher.DispatcherManager.dispatcherCreate(DispatcherManager.java:176)
    at weblogic.messaging.dispatcher.DispatcherManager.dispatcherFindOrCreate(DispatcherManager.java:58)
    at weblogic.jms.dispatcher.JMSDispatcherManager.dispatcherFindOrCreate(JMSDispatcherManager.java:219)
    at weblogic.jms.dispatcher.JMSDispatcherManager.dispatcherFindOrCreateChecked(JMSDispatcherManager.java:230)
    at weblogic.jms.frontend.FEProducer.findDispatcher(FEProducer.java:825)
    at weblogic.jms.frontend.FEProducer.sendRetryDestination(FEProducer.java:995)
    ... 9 more
    Caused by: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:null'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:null'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at weblogic.messaging.dispatcher.DispatcherManager.dispatcherCreate(DispatcherManager.java:172)
    ... 14 more

    Hi,
    I would suggest you to go through these 2 links which you give all the details about UDD
    Topic:Steps to Configure Uniform Distributed Queue (UDQ) on Weblogic Server
    http://middlewaremagic.com/weblogic/?p=3747
    Topic:JMS Demo using WebLogic Uniform Distributed Queue (UDQ)
    http://middlewaremagic.com/weblogic/?page_id=1976
    Tips to solve UDQ issues
    - Make sure the Server Affinity Enabled parameter should be un-checked (disable) which under the [ Connection factory –> Configuration (tab) –> Load Balance (sub-tab)]
    - Disable the Server Affinity Enabled parameter for the connection factory whish is been used by your UDQ.
    - All the managed servers are in the same cluster.
    - If the managed serves are in different boxes make sure the listing address is given correctly which is under [ Machine –> Configuration (tab) –> Node Manager (sub-tab) ]
    - Test if you are able to PING the servers on different boxes and make sure that there is no network issues and you are able to communicate with the servers.
    Hope this helps you.
    Regards,
    Ravish Mody
    http://middlewaremagic.com/weblogic/
    Come, Join Us and Experience The Magic…

  • Error when connecting to portal : Message: Dispatcher running but no server

    <br>Hello everyone</br>
    <br>
    I searched a lot on SDN for an answer to my problem but i couldn`t find any solution. Till yesterday the portal worked OK.. no errors untill this one, but from yesterday when i try to connect i received this error:
    </br>
    <br>
    SAP WebAS Engine is starting...
    </br> <br>
    If this state does not change within a few minutes,
    please contact your system administrator.
    Check the recommendations in SAP Notes: 943498, 764417
    <br> </br>
    Message: Dispatcher running but no server connected!
    Details:   No details available
    </br>
    <br>
    I read all SAP Notes regarding this problem and i couldn`t find any solution which would fit for me.
    From SAP Notes i found out that i need to analyse some logs .. here is what i found in the logs:
    </br>
    <br>
    <p>
    On stderr2 file:
    [Thr 01] MtxInit: 30002 0 2</br> <br>
    The java class is not found:  com.sap.engine.offline.OfflineToolStart</br> <br>
    The java class is not found:  com.sap.engine.offline.OfflineToolStart
    </p></br>
    <br><code>
    On dev_jcontrol:
    [Thr 01] Thu Jul  2 11:54:43 2009
    [Thr 01] JStartupICreateProcess: fork process (pid 1863782)
    [Thr 01] JControlICheckProcessList: process server0 started (PID:1863782)</br>
    <br>
    [Thr 01] Thu Jul  2 11:55:08 2009
    [Thr 01] JControlICheckProcessList: process server0 (pid:1863782) died (RUN-FLAG)
    [Thr 01] JControlIResetProcess: reset process server0
    [Thr 01] JControlIResetProcess: [server0] not running -> increase error count (4)
    [Thr 01] JControlICheckProcessList: running flight recorder:
         /usr/java14_64/bin/java -classpath ../j2ee/cluster/bootstrap/sap.comtcbloffline_launcherimpl.jar
    com.sap.engine.offline.OfflineToolStart com.sap.engine.flightrecorder.core.Collector
    ../j2ee/cluster/bootstrap -node ID8477250 1246524883 -bz /usr/sap/BIP/SYS/global
    </code></br>
    <br><code>
    On dev_server0:
    [Thr 39324]
    [Thr 39324] *  LOCATION    CPIC (TCP/IP) on local host
    [Thr 39324] *  ERROR       illegal parameter value ( function=SAP_CMTIMEOUT2 /
                 parameter=conversation_ID / value=17508060 )
    [Thr 39324] *
    TIME        Thu Jul  2 11:55:04 2009
    [Thr 39324] *  RELEASE     700
    [Thr 39324] *  COMPONENT   CPIC (TCP/IP)
    [Thr 39324] *  VERSION     3
    [Thr 39324] *  RC          769
    [Thr 39324] *  MODULE      r3cpic_mt.c
    [Thr 39324] *  LINE        7319
    [Thr 39324] *  COUNTER     2
    [Thr 39324] *
    [Thr 39324] *****************************************************************************
    <br> </br>
    [Thr 39324] JLaunchIExitJava: exit hook is called (rc = -11113)
    [Thr 39324] **********************************************************************</br> <br>
    ERROR => The Java VM terminated with a non-zero exit code.
    Please see SAP Note 943602 , section 'J2EE Engine exit codes'
    for additional information and trouble shooting.
    **********************************************************************<br> </br>
    [Thr 39324] SigISetIgnoreAction : SIG_IGN for signal 20
    [Thr 39324] JLaunchCloseProgram: good bye (exitcode = -11113)
    </br></code>
    <br>
    I read the notes.. but for my problem it is written .. please contact SAP Support..Have any one .. any idea about this problem? It`s is importan because it is the future PRD portal.. not yet  with go-live.. and i do not wan`t to install it again.
    </br>
    <br>
    Thank you
    </br>
    Edited by: Patrick Raileanu on Jul 2, 2009 1:43 PM
    Edited by: Patrick Raileanu on Jul 2, 2009 1:55 PM

    <p><br>
    #1.5 #001A64E8E162007F003EC1C70008C09C00046D590A052CC2#1246129094470#/System/Server##com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#J2EE_GUEST#0##n/a##9997e9e052bd11decbdb001a64e8e162#SAPEngine_Application_Thread[impl:3]_26##0#0#Error#1#com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#Plain###ERROR_ACQUIRE_CONNECTION
    com.sap.caf.eu.gp.base.exception.EngineException: ERROR_ACQUIRE_CONNECTION
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:92)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleDbImpl.getScheduleToProcess(ScheduleDbImpl.java:1936)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleService.getScheduleToProcess(ScheduleService.java:432)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.work(ScheduleWorker.java:77)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.run(ScheduleWorker.java:63)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(AccessController.java:219)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
    <br> </br>
    <br>Caused by: com.sap.engine.services.dbpool.exceptions.BaseSQLException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: s23 t
    IBM AIX RISC System/6000 Error: 2: No such file or directory</br>
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:59)
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:89)
         ... 8 more
    <br> </br>
    <br>Caused by: com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    IBM AIX RISC System/6000 Error: 2: No such file or directory</br>
         at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:193)
         at com.sap.engine.services.connector.jca.ConnectionHashSet.match(ConnectionHashSet.java:338)
         at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:267)
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:51)
         ... 9 more
    <p> </br>
    <br>
    <br>
    As you can see we have AIX 6.1 on Oracle 10.2.0.4 with ECC6 ..
    This is a strange error because on this server we have the BI productive server and the database is always available..
    Any ideas?
    </br>
    <br>
    Thank you
    </br>

  • How to publish a "SYS.AQ$_JMS_MESSAGE" message to a topic (java)

    Hi,
    I am trying to publish a message (SYS.AQ$_JMS_MESSAGE) to a topic and address it to only one consumer...
    Below is the code I use to try to publish the message :
    l_queue = a_session.getQueue("AQADM", "TESTTOPIC");
    l_message = l_queue.createMessage();
    l_recipients.addElement((Object) new AQAgent(a_destinataire, null, 0));
    l_properties = l_message.getMessageProperty();
    l_properties.setRecipientList(l_recipients);
    l_message.setMessageProperty(l_properties);
    l_rawPayload = l_message.getRawPayload();
    l_content = "<test>fhsdkfhdskjhfsd</test>".getBytes();
    l_rawPayload.setStream(l_content, l_content.length);
    l_enqOption = new AQEnqueueOption();
    l_msgid = l_queue.enqueue(l_enqOption, l_message);
    I get an error while trying to set the payload of the message ...
    The object "l_rawPayload" is null ...
    Does someone have an idea on how to publish JMS message to a topic and address it to one of the consumers ???
    Thanks,
    romain.

    Brajesh,
    The reason I asked that was because I was having
    trouble subscribing to the messages using JMS API.
    This has since been resolved (it worked when I changed
    the driver from oci8 to thin !).
    Publishing worked, but subscription did not with oci8.
    Anyways, you mentioned that you recommend that Java applications
    should use JMS API. If so, when should one use Native Java?
    Thanks,
    Balaji

  • Getting DOM Parsing Exception in translator while Dequeuing the message from JMS topic

    Hi All,
    Hope you all doing good.
    I have an issue.
    I am running on 11.1.1.5 SOA suite version on Linux.
    In my aplication I have 4 projects which are connected by with topic/queue.
    But in one of the communication, the JMS topic throws me the below error in the log, but dequeue happend perfectly fine and the application runs smoothly.
    [ERROR] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@530c530c] [userId: <anonymous>
    ] [ecid: 5552564bd7cf9140:-117a2347:142149c715a:-8000-00000000069dd133,0] [APP: soa-infra] JMSAdapter <project1>
    JmsConsumer_sendInboundMessage:[des
    tination = <TOPIC NAME>  subscriber = <Consumer project name>
    Error (DOM Parsing Exception in translator.[[
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Please make sure that the xml data is valid.
    ) while preparing to send XMLRecord JmsXMLRecord
    [ERROR] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@530c530c] [userId: <anonymous>
    ] [ecid: 5552564bd7cf9140:-117a2347:142149c715a:-8000-00000000069dd133,0] [APP: soa-infra] JMSAdapter <project name>
    java.lang.Exception: DOM Parsing Exception in translator.
    DOM parsing exception in inbound XSD translator while parsing InputStream.
    Please make sure that the xml data is valid.
            at oracle.tip.adapter.jms.inbound.JmsConsumer.translateFromNative(JmsConsumer.java:603)
            at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:403)
            at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:1161)
            at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:1048)
            at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
            at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
            at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    But when I try putting the archived data on this topic, it throws me the same error but even dequeuing doesnt happen.
    I have extracted the payload and validated against the xsd, it looks fine and even the validator doesnt throw me any error.
    But I guess I am missing something, which I am immediately not getting.
    Please let me know, if I am soemthing here which is causing this erro.
    Thanks,
    Chandru

    I searched about this error, but no luck.
    First time when the message dequeues, the consumer can consume the message but throws the error in the log.
    But when I put the message back into queue from archive directory, the consumer doesnt consume message and throws me the same error.
    Does anyone faced this sort of issue.
    I checked my xsd throughly, and validated it externally. but didnt fine any error.
    if anyone knows, suggest me how to resolve this issue.
    thanks & regards
    Chandru

  • Error in java code for removing messages from a Topic

    Trying to write a code using oracle.jms package to remove messages from Topic. I have a similar code with javax.jms package for removing messages from Queue and it is working well. Whereas i have written this new code for removing messages from topic using oracle.jms package as methods like CreateBrowser and CreateTopicReceiver for topic are provided in oracle package only and can't be used from javax.jms package.
    Error i am getting is JMS-126: Invalid Topic specified at
             receiverTopic   = (Topic) ctx.lookup(((String)receiverProps.get( "Q_NAME")).trim()  );
             System.out.println ("receiverTopic is[" + receiverTopic + "]");
             MBeanHome home = (MBeanHome) Helper.getAdminMBeanHome("username","pwd","url:port");
             ((AQjmsSession)topicSession).grantSystemPrivilege("MANAGE_ANY", "SA", true);
             for(Iterator i = home.getMBeansByType("JMSTopic").iterator();i.hasNext(); )
              WebLogicMBean wmb = (WebLogicMBean)i.next();
              System.out.println("topic name found: " + wmb.getName());
                topicBrowser   = ((AQjmsSession) topicSession).createBrowser(receiverTopic, "Edin");topic handle which i am receiving in receiverTopic is same as what i am expecting but still it says Invalid topic specified on createBrowser method. Anyone who can help me to write this type of code, please reply. If anyone has ready code for this situation, please reply with the same as i am working on a prodcution system and we are in serious situation to resolve this problem.

    Hi,
    I am afraid this is impossible. You need to find another solution like a filtering queue. Your messages can be sent to a queue that is monitored by let say a MDB. This MDB will maintain a map of title and only forward once a given title/message to your topic.
    Hope it helps.
    Arnaud
    www.arjuna.com

  • Messages in JMS Topic Error destination

    Hi,
    I have a JMS Topic with an error destination queue configured. Now, In our scenario , there are two subscribers of topic for the same message. Suppose for a message published to topic, subscriber1 is able to processes message successfully but subscriber2 throws errors when processing the same message.
    1. Once the redelivery limit is reached and subscriber2 continues to throw exception, Will the message get en queued to Error Destination (in spite of the fact that subscriber 1 has processed the same message successfully) ?
    2. For a consumer (e.g MDB) listening to Error destination and consuming error messages, Is it possible to determine which topic subscriber was unable to process the message ?
    Please let me know
    Regards,
    Arif

    Here it depends on the state of the message, if the message is visible then the message would be available for consumption, else it is not. In case the subscriber 2 failed to consume the message and the message is still visible then a retry would be made, else the message would not be retried.
    In case the message is visible then the message would be move to the error queue based on the configured redelivery attempts.
    Additionally, an MDB can find the destination using the getJMSDestination() call. But as per my understanding we will only be able to get the name of the last destination which in this case would be error queue:
    http://docs.oracle.com/javaee/1.4/api/javax/jms/Message.html#getJMSDestination%28%29

  • Not able to Read All the Message in the Topic

    Hi Al,
    i am new to JMS. I have implemented publish-subscribe model. Topic as a destination.
    I want to read all the message available for particular topic. is there any way to get this?..
    like in the Queue, QueueBorrower used to read all available messages in the queue.
    Thanks
    Raj

    It depends on what you mean by "what messages are available on the topic".
    if you want to know what messages would be delivered to a new consumer on the topic, then you can simply create a consumer yourself. Each messages on a topic is delivered to all subscribers, so by creating a consumer yourself you won't be interfering with the delivery of messages to other consumers. (That's not possible with queues which is why the queue browser is provided).
    If you want to know what messages are "persisted in the topic" then there's not really such a concept. Messages sent to a topic are only persisted in individual durable subscriptions created for individual clients. If there are no durable subscriptions when messages are not persisted. The JMS APi doesn't provide a way to browse the messages saved in an individual durable subscription. It could, but it doesn't.
    Nigel

  • PO Message - Dispatch Time

    Hi,
    I have created a new message type copying data from NEU. I create a condition for this message type with the dispatch time 3 (Send with application own transaction).
    It is working fine when I create a new PO. But when I change the PO and a new message is created (Change message) the dispatch time apperas automatically with value 4 (Send immediately (when saving the application)) . I expect the value 3 as per the condition message.
    Can anyone please explain me this behavier? Is it possible to custom it in order to the system get the value 3 even when the PO is changed?
    Edited by: Alex Santana Almeida on Jul 9, 2009 1:11 PM

    IMG > MM > purchasing > Messages > Output Control > Message Determination Schemas > Define Message Schema for Purchase Order
    in step Assign Schema to Purchase Order      is a field for dispatch time for changes.

  • Number of Messages for a Topic

     

    Hi Jeff,
              I suggest that you open a case with Customer Support.
              Jane Sampson
              Developer Relations Engineer
              BEA Support
              "Jeff Carey" <[email protected]> wrote in message
              news:[email protected]...
              >
              > A startup class reads a Topic that contains e-mail messages from the
              applications
              > of our CRM system. Due to a bug in the startup class a suitable course of
              action
              > wasn't followed upon receipt of an mail Exception. That resulted in
              e-mail not
              > being sent and many messages backed-up.
              >
              > Because e-mail is a critical part of our CRM system, our requirements
              providers
              > want E-mail monitored. The problem is how to do that for a Topic.
              >
              > Responses from you and others indicate there isn't a good solution. If
              querying
              > the JMS tables is as good a solution as any, what status of a message
              associated
              > with the Topic would indicate a message not yet processed? A count of
              those that
              > exceeds a configured value could indicate a mail problem may exist.
              >
              > "Jane Sampson" <[email protected]> wrote:
              > >Hi Jeff,
              > >
              > >WebLogic uses internal implementation to collect this information. There
              > >is
              > >no method that I know of in the JMS API to allow this. Is there a
              > >particular reason that your application needs to do this?
              > >
              > >Jane Sampson
              > >Developer Relations Engineer
              > >BEA Support
              > >
              > >"Jeff Carey" <[email protected]> wrote in message
              > >news:[email protected]...
              > >>
              > >> How can an application learn the number of messages on a Topic?
              > >>
              > >> The WebLogic Console in JMS/Durable Subscribers/<subscriber> shows
              > >the
              > >number
              > >> of unprocessed messages for the Destination Topic.
              > >>
              > >> Review of documentation didn't reveal either a JMS or WebLogic method
              > >to
              > >get the
              > >> number of messages. Did the WebLogic console get the information by
              > >querying
              > >> the database table jmsmessage for messages for the destid associated
              > >with
              > >the
              > >> Topic and with a particular status? If so, what status?
              > >>
              > >> We are using WebLogic 5.1.
              > >>
              > >> Thank you.
              > >
              > >
              >
              

  • [ME21] error message : cannot find message associated with key

    Dear all,
    I try to develop an Mobile application using smartSync,
    but when the application running (on client) got an error message :
    Error: 500
    Location: /UPLOAD_TEST/upload_testapp/Menu.do
    Internal Servlet Error:
    javax.servlet.ServletException: cannot find message associated with key : dispatcher.forwardException
    at org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherImpl.java:238)
    at org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:162)
    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:423)
    at 0002findex0002ejspindex_jsp_0._jspService(_0002findex_0002ejspindex_jsp_0.java:62)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java)
    note:
    when create this application, I'm using tcode : merep_sbuilder
    Sync type : U01 - Upload using SMAPIs
    Bapi wrapper : MEREP_CONTACT_CREATE
    SAP Mobile Engine 2.1
    and generate .war file using MDK tool
    any one know about this ??
    thanks & regards,

    Hi,
    this error comes up when the destination serlvet throws an exception other than ServletException!
    Its a standard tomcat bug!
    Rgds Thomas
    -->
    http://issues.apache.org/bugzilla/show_bug.cgi?id=19114
    -->From apache.org:
    When a forwarded servlet throws an exception other than ServletException or
    IOException, the thrown exception is lost. This is due to the line:
    throw new ServletException(sm.getString("dispatcher.forwardException", t));
    (found in org/apache/tomcat/facade/RequestDispatcherImpl.java:210)
    the earlier catched t is here not passed into the constructor of
    ServletException but into getString.
    To reproduce construct a servlet that throws an Exception (other than
    ServletException and IOException) and another servlet that forwards to it. You
    will get just a forwardException (if you have the proper locale strings
    installed!) but the originally thrown exception will get lost forever.

  • SyncBo Example - cannot find message associated with key

    Hi,
    I followed the tuturial to create a SmartSync Project.
    And when I run the project I've got a Servlet Exception:
    javax.servlet.ServletException: cannot find message appropriated with key: dispatcher.forwardException.
    What I need to change?
    Thanks a lot,
    Rachid

    Hi,
    this error comes up when the destination serlvet throws an exception other than ServletException!
    Its a standard tomcat bug!
    Rgds Thomas
    -->
    http://issues.apache.org/bugzilla/show_bug.cgi?id=19114
    -->From apache.org:
    When a forwarded servlet throws an exception other than ServletException or
    IOException, the thrown exception is lost. This is due to the line:
    throw new ServletException(sm.getString("dispatcher.forwardException", t));
    (found in org/apache/tomcat/facade/RequestDispatcherImpl.java:210)
    the earlier catched t is here not passed into the constructor of
    ServletException but into getString.
    To reproduce construct a servlet that throws an Exception (other than
    ServletException and IOException) and another servlet that forwards to it. You
    will get just a forwardException (if you have the proper locale strings
    installed!) but the originally thrown exception will get lost forever.

  • Including link to one topic in message of 2nd topic

    Hello,
    I'm new to SDN so please excuse my basic question.
    My problem/question is how to include a link to one topic when posting a new topic or reply to an existing topic.
    The reason this came up is that I received e-mail notification when someone updated one of my watched topics but not another. I was going to create a new topic asking why this happens and include links to both topics but I can't figure out how.
    The url in my IE address bar doesn't change as I go from topic to topic.
    Thanks in advance for any replies.
    David

    Hi David,
    the links are for example accessible at:
    1. The top left corner "Topic" if you read a message
    2. In the topic lists of the forums.
    In general you can click on a link with the right mouse button and choose the Copy option from the context menu.
    Pasting this you'll get something like: Including link to one topic in message of 2nd topic
    If you want to make the links more readable use this template (remove the '_'s): [_url=href]display[_/url].
    Sample: Replacing "href" with the link to the SDN home page and "display" with "goto SDN" this results in:
    If you need more infos, <a href="https://www.sdn.sap.com/sdn/index.sdn">goto SDN</a>.
    Hope that helps.
    Regards
    Stefan

  • Example for message-style with Message Driven Bean

    hi,
    Can i have some examples of webservices message-style with
    MDB?....
    thanks

    The current version of the white-paper that Raffi
              refers to covers through 7.0. For 8.1 see also
              http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_config.html#accessing_foreign_providers
              and
              http://edocs.bea.com/wls/docs81/jms/j2ee_components.html
              these features can often make integration easier.
              Tom
              Raffi wrote:
              > Doug,
              >
              > You can find very detailed information on this topic at the link below. All
              > you need to do is specify the destination-jndi-name, initial-context-factory,
              > provider-url, and connection-factory-jndi-name in weblogic-ejb-jar.xml for the
              > non-BEA JMS provider for that specific MDB.
              >
              > ftp://edownload:[email protected]/pub/downloads/jmsproviders.pdf
              >
              > Hope that helps!
              >
              > Raffi
              >
              > Doug Chew <[email protected]> wrote:
              >
              >>Can someone give me an example on how to setup a message driven bean
              >>with a foreign JMS provider using the foreign JMS provider's implementation
              >>of a connection factory. i.e. binding the foreign JMS provider's connection
              >>factory to the JNDI tree.
              >>
              >>Thanks
              >
              >
              

Maybe you are looking for

  • Scheduling File Sender Adapter

    <b>Hai expertise,       We need to send image files from different local PC's (whose IP address is dynamic) to Document Storage System through XI. 1) we have to use HTTP sender (Java program which pick current IP address of system and file names from

  • DW CS3 with ADDT crashes.

    Hi all, A strange thing has just started on my DWCS3/ADDT installation. Whenever I open a page that has anything to do with ADDT on it, DWCS3 hangs immediately and a XP Pro error message appears on screen informing me "Adobe Dreamweaver CS3 has encou

  • My safari was opening and now does not, what can I do?

    Safari was opening, but now appears lost. In the tool bar the word safari shows, but when you click on it, the only black words are services, hide safari, and hide others.  I thought I might be able to reset, but it is not highlighted.

  • F110 - How to change Payment Form to send to bank

    Hi friends, I am testing F110 and my target is to generate a file in the end of the process payment (F110) in the format/layout required by the bank and send it to the bank. Where can I change or define the file layoutto suit t to the bank layout? Th

  • Some of my i.move video is very dark can I balance this?

    I have just made a wedding video in Imove but some of the shots are very dark how do I correct this? do I use grading all the way through, and some of the stills are very jumpy using the ken burns effect