Recall a message from the JMS destination

We are sending messages to a queue, using IBM MQ Series for messaging and JMS as the messaging system.
Could you please let me know, if there is a way we can recall messages sent to the queue?
Thanks,
Jayashree.

Are you using session or transactions?
If yes, you can do rollback.(I hope thats what you are looking for).
If you are looking for a way to get the message from the queue without
removing it, why not write a client code for that.

Similar Messages

  • How to keep a back up of messages from the JMS queues?

    Hi,
    I need to keep a back up of messages which are coming in the JMS queue before they get consumed. This is for recovery purpose.
    I checked file store option but it doesnt have any time stamp on messages so dont know how to trace back messges if needed from file store.
    Please let me know if you guys have any idea to handle this.
    Thanks in advance
    Bips

    No. Not with Time Machine at least.
    If you tell Time Machine to backup the external then you will have it.
    Or you can manually copy it to another disk for storage outside of Time Capsule/TimeMachine.
    Allan

  • Distinguishing between messages in the error destination

    Hi,
              First of all, I'm using Weblogic 8.1 SP4.
              I recognize that messages are delivered to the error destination if one of two situations occur:
              1) The message has reached the redelivery limit.
              2) The message has expired.
              In my message-driven bean that picks up messages from the error destination, I need to know the reason why a message ended up there. That is, I need to know whether it was expired or the redelivery limit was reached.
              Is this possible?
              Thanks in advance!
              Henrik Oddershede

    The JMS chapter of the book "Professional Oracle WebLogic Server" has a nice discussion of poison message handling.
    In your case, I'd recommend adding code to your inbound queue processing application to detect bad format messages and automatically redirect them to a separate queue for manual intervention. This would avoid mixing up the bad format messages with your automatically handled problem messages. You could then write a specialized application that your administrator can use to process the messages.
    Tom

  • OSB : Alert Destination not alerting on the JMS destination Topic

    Hi,
    I am using OSB alert destination to alert on an SLA alert of a proxy service.
    The alert destnation configuration has a JMS destination of Topic type. Syntax which i followed is jms://localhost:8011/weblogic.JmsConnectionFactory/weblogic.ReportingTopic
    I am able to see the alerts on the dashboard but then i cannot get the alert on topic.
    I could see the below exception in log file:
    Alert Rule Name: test.
    com.bea.wli.sb.transports.TransportException: [JMSClientExceptions:055091]Destination JmsModule!ReportingTopic must be a queue
         at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.send(JmsOutboundMessageContext.java:570)
         at com.bea.wli.sb.transports.jms.JmsTransportProvider.sendMessageAsync(JmsTransportProvider.java:681)
         at sun.reflect.GeneratedMethodAccessor1206.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
         at $Proxy123.sendMessageAsync(Unknown Source)
         at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageWithoutService(TransportManagerImpl.java:490)
         at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:417)
         at com.bea.wli.sb.init.FrameworkStarter$TransportServiceImpl.sendMessageAsync(FrameworkStarter.java:391)
         at com.bea.alsb.alert.action.jms.JmsActionProvider.executeAction(JmsActionProvider.java:346)
         at com.bea.alsb.alert.AlertDestinationHandlerImpl.sendAlertToDestination(AlertDestinationHandlerImpl.java:105)
         at com.bea.alsb.alert.AlertDestinationHandlerImpl.sendAlertToDestination(AlertDestinationHandlerImpl.java:67)
         at com.bea.alsb.alert.sla.SlaAlertManager.generateAlert(SlaAlertManager.java:149)
         at com.bea.alsb.alert.sla.SlaAlertManager.access$100(SlaAlertManager.java:33)
         at com.bea.alsb.alert.sla.SlaAlertManager$RuleListenerForAlertGeneration.onRuleTrue(SlaAlertManager.java:227)
         at com.bea.alsb.rule.RuleEngine$ListenerInvocation.invokeListener(RuleEngine.java:76)
         at com.bea.alsb.rule.RuleEngine$ListenerInvocation.access$000(RuleEngine.java:61)
         at com.bea.alsb.rule.RuleEngine.addFact(RuleEngine.java:115)
         at com.bea.alsb.alert.sla.SlaAlertManager.intervalCompleted(SlaAlertManager.java:202)
         at com.bea.alsb.alert.sla.TaskCollector$RuleEvaluationTask.run(TaskCollector.java:177)
         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:139)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)
         at java.lang.Thread.run(Thread.java:619)
    In the alert destination i selected the destination type as topic. Is there anything i am missing. I checked the documentation it says that the jms destination in alert destination can be Queue/Topic. Please suggest. Thanks in advance

    A topic wont persist the message, unlike a queue, if there are no subscribers attached to it currently or if there are no durable subscriptions. Create a proxy service to consume the alert from the topic and see whether you are getting it within the proxy's pipeline.

  • JMS Exception - unable to connect to the JMS destination

    Hi,
    I've configured WebLogic10R3 Cluster with one Admin Server and 2 Managed Servers.
    I deployed the application to the Cluster. (Ie. both Managed 1 and Managed Server 2.)
    I am geeting the following JMS destination not found exception while starting the Second Managed Server.
    There are no errors occurred in the First Managed Server.
    {color:#ff0000}<Warning> <EJB> <BEA-010061>
    <The Message-Driven EJB: SysAuditLogger is unable to connect to the JMS destination: topic/efpAuditTopic.
    The Error was: weblogic.jms.common.JMSException: could not find Server efpserver_man2
    Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
    Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
    Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
    Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server efpserver_man2
    Nested exception: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:efpserver_man2.
    Resolved 'weblogic .messaging.dispatcher'; remaining name 'S:efpserver_man2>{color}
    Configuration Details:
    ##config.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <domain xmlns="http://www.bea.com/ns/weblogic/920/domain" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/security/wls [http://www.bea.com/ns/weblogic/90/security/wls.xsd] [http://www.bea.com/ns/weblogic/920/domain] [http://www.bea.com/ns/weblogic/920/domain.xsd] [http://www.bea.com/ns/weblogic/90/security/xacml] [http://www.bea.com/ns/weblogic/90/security/xacml.xsd] [http://www.bea.com/ns/weblogic/90/security] [http://www.bea.com/ns/weblogic/90/security.xsd]">
    <name>efpdomain</name>
    <domain-version>10.3.0.0</domain-version>
    <security-configuration>
    <name>efpdomain</name>
    <realm>
    <sec:authentication-provider xsi:type="wls:default-authenticatorType"></sec:authentication-provider>
    <sec:authentication-provider xsi:type="wls:default-identity-asserterType">
    <sec:active-type>AuthenticatedUser</sec:active-type>
    </sec:authentication-provider>
    <sec:role-mapper xmlns:xac="http://www.bea.com/ns/weblogic/90/security/xacml" xsi:type="xac:xacml-role-mapperType"></sec:role-mapper>
    <sec:authorizer xmlns:xac="http://www.bea.com/ns/weblogic/90/security/xacml" xsi:type="xac:xacml-authorizerType"></sec:authorizer>
    <sec:adjudicator xsi:type="wls:default-adjudicatorType"></sec:adjudicator>
    <sec:credential-mapper xsi:type="wls:default-credential-mapperType"></sec:credential-mapper>
    <sec:cert-path-provider xsi:type="wls:web-logic-cert-path-providerType"></sec:cert-path-provider>
    <sec:cert-path-builder>WebLogicCertPathProvider</sec:cert-path-builder>
    <sec:name>myrealm</sec:name>
    </realm>
    <default-realm>myrealm</default-realm>
    <credential-encrypted>{3DES}hcdd+yZGXk5DHgRKqCM7E86l4+VxPcZ9Ut7rB6WaXqMyvbtDjDUKNCKbMQdCN/BEYCv5E0N4Hms9kntfqhaduDO1WGMtbmJL</credential-encrypted>
    <node-manager-username>weblogic</node-manager-username>
    <node-manager-password-encrypted>{3DES}Q2xO0EiChbay/HkRiorTjg==</node-manager-password-encrypted>
    </security-configuration>
    <server>
    <name>AdminServer</name>
    <listen-address>192.168.12.240</listen-address>
    </server>
    <server>
    <name>efpserver_man1</name>
    <listen-port>8011</listen-port>
    <cluster>efpcluster</cluster>
    <listen-address>192.168.12.240</listen-address>
    <xml-registry>XMLEFP</xml-registry>
    <jta-migratable-target>
    <user-preferred-server>efpserver_man1</user-preferred-server>
    <cluster>efpcluster</cluster>
    </jta-migratable-target>
    </server>
    <server>
    <name>efpserver_man2</name>
    <listen-port>8012</listen-port>
    <cluster>efpcluster</cluster>
    <listen-address>192.168.12.240</listen-address>
    <xml-registry>XMLEFP</xml-registry>
    <jta-migratable-target>
    <user-preferred-server>efpserver_man2</user-preferred-server>
    <cluster>efpcluster</cluster>
    </jta-migratable-target>
    </server>
    <cluster>
    <name>efpcluster</name>
    <cluster-address>192.168.12.240:8011,192.168.12.240:8012</cluster-address>
    <multicast-address>239.192.0.0</multicast-address>
    </cluster>
    <embedded-ldap>
    <name>efpdomain</name>
    <credential-encrypted>{3DES}q/XQGirHcAcgi4iwPiXIkRHP8xte4xVBgJwjM+qMwbk=</credential-encrypted>
    </embedded-ldap>
    <configuration-version>10.3.0.0</configuration-version>
    <app-deployment>
    <name>efp</name>
    <target>efpcluster</target>
    <module-type>ear</module-type>
    <source-path>applications\efp.ear</source-path>
    <security-dd-model>DDOnly</security-dd-model>
    </app-deployment>
    <xml-registry>
    <name>XMLEFP</name>
    <document-builder-factory>weblogic.apache.xerces.jaxp.DocumentBuilderFactoryImpl</document-builder-factory>
    <sax-parser-factory>weblogic.apache.xerces.jaxp.SAXParserFactoryImpl</sax-parser-factory>
    <transformer-factory>weblogic.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
    </xml-registry>
    <jms-server>
    <name>eFpJMSServer</name>
    <target>efpserver_man1 (migratable)</target>
    <persistent-store>eFpJMSJDBCStore</persistent-store>
    </jms-server>
    <jms-server>
    <name>eFpJMSServer2</name>
    <target>efpserver_man2 (migratable)</target>
    <persistent-store>eFpJMSJDBCStore2</persistent-store>
    </jms-server>
    <migratable-target>
    <name>efpserver_man1 (migratable)</name>
    <notes>繧キ繧ケ繝・Β逕滓・縺ォ繧医k繝・ヵ繧ゥ繝ォ繝医・繧オ繝シ繝千畑遘サ陦悟庄閭ス蟇セ雎。縺ァ縺吶€よ焔蜍輔〒蜑企勁縺励↑縺・〒縺上□縺輔>縲・/notes>
    <user-preferred-server>efpserver_man1</user-preferred-server>
    <cluster>efpcluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>efpserver_man2 (migratable)</name>
    <notes>繧キ繧ケ繝・Β逕滓・縺ォ繧医k繝・ヵ繧ゥ繝ォ繝医・繧オ繝シ繝千畑遘サ陦悟庄閭ス蟇セ雎。縺ァ縺吶€よ焔蜍輔〒蜑企勁縺励↑縺・〒縺上□縺輔>縲・/notes>
    <user-preferred-server>efpserver_man2</user-preferred-server>
    <cluster>efpcluster</cluster>
    </migratable-target>
    <jdbc-store>
    <name>eFpJMSJDBCStore</name>
    <prefix-name>WLJMS_</prefix-name>
    <data-source>eFpNonXADataSource</data-source>
    <target>efpserver_man1 (migratable)</target>
    </jdbc-store>
    <jdbc-store>
    <name>eFpJMSJDBCStore2</name>
    <prefix-name>WLJMS2_</prefix-name>
    <data-source>eFpNonXADataSource</data-source>
    <target>efpserver_man2 (migratable)</target>
    </jdbc-store>
    <jms-system-resource>
    <name>eFPJMS</name>
    <target>efpcluster</target>
    <sub-deployment>
    <name>eFPServer</name>
    <target>eFpJMSServer</target>
    </sub-deployment>
    <sub-deployment>
    <name>eFPServer2</name>
    <target>eFpJMSServer2</target>
    </sub-deployment>
    <descriptor-file-name>jms/efpjms-jms.xml\JMS Description-jms.xml</descriptor-file-name>
    </jms-system-resource>
    <admin-server-name>AdminServer</admin-server-name>
    <jdbc-system-resource>
    <name>eFpDataSource</name>
    <target>efpcluster</target>
    <descriptor-file-name>jdbc/eFpDataSource-2004-jdbc.xml</descriptor-file-name>
    </jdbc-system-resource>
    <jdbc-system-resource>
    <name>eFpNonXADataSource</name>
    <target>efpcluster</target>
    <descriptor-file-name>jdbc/eFpNonXADataSource-6172-jdbc.xml</descriptor-file-name>
    </jdbc-system-resource>
    </domain>
    ##JMS Description-jms.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-jms [http://www.bea.com/ns/weblogic/weblogic-jms/1.0/weblogic-jms.xsd]">
    <connection-factory name="ConnectionFactory">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>jms/ConnectionFactory</jndi-name>
    <security-params>
    <attach-jmsx-user-id>false</attach-jmsx-user-id>
    </security-params>
    </connection-factory>
    <connection-factory name="XAConnectionFactory">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>jms/XAConnectionFactory</jndi-name>
    <transaction-params>
    <transaction-timeout>3600</transaction-timeout>
    <xa-connection-factory-enabled>true</xa-connection-factory-enabled>
    </transaction-params>
    <security-params>
    <attach-jmsx-user-id>false</attach-jmsx-user-id>
    </security-params>
    </connection-factory>
    <uniform-distributed-queue name="ActiveActivityQueue">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>queue/efpActiveActivityQueue</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    <reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
    </uniform-distributed-queue>
    <uniform-distributed-topic name="AdminTopic">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>topic/efpAdminTopic</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    </uniform-distributed-topic>
    <uniform-distributed-topic name="AuditTopic">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>topic/efpAuditTopic</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    </uniform-distributed-topic>
    <uniform-distributed-topic name="ErrorTopic">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>topic/efpErrorTopic</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    </uniform-distributed-topic>
    <uniform-distributed-topic name="FreeTextTopic">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>topic/efpFreeTextTopic</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    </uniform-distributed-topic>
    <uniform-distributed-topic name="ReportingTopic">
    <default-targeting-enabled>true</default-targeting-enabled>
    <jndi-name>topic/efpReportingTopic</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    </uniform-distributed-topic>
    </weblogic-jms>
    -----

    Getting the following exception while trying to connect the JMS destination I am using weblogic 10.3.3 connecting to oracle AQ. The config has been done as per the 'Interoperating with Oracle AQ JMS' document from oracle. I could see that while deploying the application the number of connections in the database increasing to 15 and getting the following error message.
    <Jun 15, 2011 4:14:29 PM EDT> <Warning> <EJB> <BEA-010061> <The Message-Driven E
    JB: SampleEJBBean is unable to connect to the JMS destination: jms/propQueue. Th
    e Error was:
    oracle.jms.AQjmsException: Internal error: Cannot obtain XAConnection weblogic.c
    ommon.resourcepool.ResourceLimitException: No resources currently available in p
    ool TestDataSource to allocate to applications, please increase the size of the
    pool and retry..
    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal
    (ResourcePoolImpl.java:555)
    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
    ePoolImpl.java:332)
    at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
    ePoolImpl.java:322)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
    ava:438)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
    ava:317)
    at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
    nPoolManager.java:93)
    at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
    nPoolManager.java:61)
    at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:
    1670)
    at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
    468)
    at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
    at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
    ce.java:355)
    at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:566)
    at oracle.jms.AQjmsXAConnection.createXAQueueSession(AQjmsXAConnection.j
    ava:214)
    at weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSession
    s(JMSConnectionPoller.java:1545)
    at weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnecti
    on(JMSConnectionPoller.java:2047)
    at weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnec
    tionPoller.java:787)
    at weblogic.ejb.container.internal.MDConnectionManager.startConnectionPo
    lling(MDConnectionManager.java:244)
    at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDriv
    enManager.java:584)
    at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerSt
    art(MessageDrivenBeanInfoImpl.java:1334)
    at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessa
    geDrivenBeans(MessageDrivenBeanInfoImpl.java:1314)
    at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(
    EJBDeployer.java:1669)
    at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:14
    93)
    at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:614)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
    ListenerInvoker.java:249)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
    teDriver.java:427)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
    river.java:43)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
    eDriver.java:119)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
    ulesFlow.java:28)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.ja
    va:1269)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
    river.java:43)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.
    java:409)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleM
    oduleDeployment.java:43)
    at weblogic.application.internal.DeploymentStateChecker.activate(Deploym
    entStateChecker.java:161)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(Ap
    pContainerInvoker.java:79)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.ac
    tivate(AbstractOperation.java:569)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.ac
    tivateDeployment(ActivateOperation.java:150)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
    Commit(ActivateOperation.java:116)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.co
    mmit(AbstractOperation.java:323)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
    entCommit(DeploymentManager.java:844)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeplo
    ymentList(DeploymentManager.java:1253)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(
    DeploymentManager.java:440)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.com
    mit(DeploymentServiceDispatcher.java:164)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

  • How to pick(or consume) messages from Woblogic JMS Queue only when DB is UP

    Hi,
    I have a requirement to pick(or consume) messages from Woblogic JMS Queue only when DB is UP.
    When DB is down, messages should remain in queue. When DB is up, messaged should be picked on scheduler basis.
    We are using SOA suite 11g(BPEL or mediator,JMS Adapter).
    What is the best way to achive it in SOA 11g.
    I tried, but when I setup a Consumer, there is no control over there. Messages are picked automatically.
    Please advise.
    Thanks
    Ram

    something wrong with the design.
    why dont you set the retry options in the fault policies?
    So if the external DB is down you could reprocess them after specified interval or make it go to human retry queue.
    Then you could use SOA api to retry all of them.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • MQ Adapter does not clear the rejected message from the queue

    Hi All,
    I'm using a MQ Adapter to fetch the message from the queue without any Backout queue configured. However, whenever there is any bad structured message found in the queue, MQ adapter rejects the message and moves the message to the rejmsg folder but does not clear it off the queue, as a result of which it keeps retrying the same hence, filling the logs and the physical memory. Somehow we do not have any backout queue configured so I can move the message to blackout queue. I have tried configuring the jca retry properties and global jca retry as well but to no avail.
    - Is it not the default behaviour of MQ Adapter to remove the rejected message from the queue irrespective of Backout queue is configured or not? The same behaviour working well with the JMS and File Adapter though.
    - Is there any way I can make MQ Adapter delete the message from that queue once it is rejected?
    Regards,
    Neeraj Sehgal

    Hi Jayson,
    Check this URL which answers a problem with com.sap.engine.boot.loader.ResourceMultiParentClassLoader problem:
    http://209.85.175.132/search?q=cache:RnFZ9viwuKkJ:https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.sdn.folder.sdn!2fcom.sap.sdn.folder.application!2fcom.sap.sdn.folder.roles!2fcom.sap.sdn.folder.navigationroles!2fcom.sap.sdn.role.anonymous!2fcom.sap.sdn.tln.workset.forums!2fforumtest!2fcom.sap.sdn.app.iview.forumthread%3FQuickLink%3Dthread%26tstart%3D45%26threadID%3D1020700+com.sap.engine.boot.loader.ResourceMultiParentClassLoader&hl=en&ct=clnk&cd=3&gl=in&client=firefox-a
    Please check that the JDK compliance level is at 5.0
    Window->Preferences->Java->Compiler->Compiler compliance level set this to 5.0
    Set the installed JRE to the one you have mentioned JDK 5.0 update 16
    Window->Preferences->Java->Installed JRE's->
    Click on the add button to select the path of your JDK.
    once completed click on the check box next to it.
    regards,
    AKD

  • Removing superseded messages from the queue

    Does JSMQ provide any way for a producer to remove a message from the queue which it queued some time ago but which it no longer wishes to send?
    I am investigating the use of JSMQ in a military battlemap application connecting nodes over low bandwidth/unreliable connections. The reason we want to be able to remove messages is as follows: Say a producer sends a low priority message to the queue regarding a unit's position. Later on the same producer sends an update regarding the same unit to the queue. If the first message is still present in the queue (ie has not been sent yet) then we want the producer to be able to remove it as it is now superseded by the new message and we don't want to waste bandwidth sending the old message first.
    I know we can set an expiry time on messages, but this doesn't really solve our problem. We want the original message to stay in the queue indefinately (until it is read by the consumer) unless it is superseded by a new message in which case we want to remove it.
    Thanks
    Roger

    Hi Roger,
    JMS does not support the removal of messages from a queue
    as you described. I can't think of a way to not deliver the old
    message once it was already sent.
    Alternatives I can think of:
    - Adjust the interval at which the consumer reads the messages
    off the queue and/or the number of messages that are read;
    so that the consumer will see the old and new messages
    and can decide which one to use. This does not address the
    bandwidth issue but allows the consumer to behave smarter.
    - Similar to above, but on the producer side. The producer waits
    for some interval before sending a message, in case an
    updated position of a unit arrives at the producer. This might not
    be good if a consumer needs to know the location of a unit as
    soon as it is available.
    - Use a topic instead of a queue. When using queues, old
    messages (containing old positions) sent to a queue are kept
    until the consumer reads it. With topics, if no consumers are
    around, the message is tossed. However, if you really need old
    messages to lie around (e.g. need to know last position of
    unit), this won't suit your needs.
    Sorry I don't have a straight answer for you, hope this helps
    somewhat.
    -i
    http://wwws.sun.com/software/products/message_queue/index.html

  • AQJMSMDBEJB is unable to connect to the JMS destination

    I am trying to integrate WebLogic 8.1 MDB and Oracle 9i AQ using a start-up class that creates XAConnection and Queue. However, I'm currently getting this error and I'm not sure what I need to do.
    <The Message-Driven EJB: AQJMSMDBEJB is unable to connect to
    the JMS destination: AQJMSQueue. The Error was:
    oracle.jms.AQjmsException: JMS-137: Payload factory must be specified for destinations with ADT payloads
    oracle.jms.AQjmsException: JMS-137: Payload factory must be specified for destinations with ADT payloads
    at oracle.jms.AQjmsError.throwEx(AQjmsError.java:266)
    at oracle.jms.AQjmsConsumer.<init>(AQjmsConsumer.java:326)
    at oracle.jms.AQjmsConsumer.<init>(AQjmsConsumer.java:196)
    at oracle.jms.AQjmsSession.createReceiver(AQjmsSession.java:1415)
    at oracle.jms.AQjmsSession.createReceiver(AQjmsSession.java:1386)
    at weblogic.deployment.jms.WrappedTransactionalSession_oracle_jms_AQjmsXAQueueSession.createReceiver(Unknown Sou
    rce)
    at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(JMSConnectionPoller.java:1609)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:1844)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:1087)
    at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:970)
    at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:50)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >

    1. Security:
    Perhaps you need to check the security configuration for the queue (Q) to ensure it matches the MDB (M) security parameters.
    Q:
    Weblogic Security Realms: User/Group
    JMSModule Security: Role/Group , Policy: Role
    M:
    MDB: MDBRole/Principal (User) in weblogic-ejb-jar.xml
    2. Double check that the queue created in weblogic
    3. Test your queue (manually create a new message using weblogic console) or observe unconsumed messages (if producer has run and placed messages)
    Carlos

  • How Can I delete multiple messages from the same address in Mac Mail

    Hope this is in the correct Community.  Hope someone can help me to delete multiple email messages from the same email address.
    At the moment I can do it by holding down the Command key and highlighting each email, but that can be difficult with many messages
    to delete.  Is there a quicker way?
    Thanks for any help on this.

    Thanks for the reply, appreciate your input.  I did find another way of doing it and that is to highlight the first e-mail, hold down the shift key and click on the last one.  That highlights them all and then they can all be deleted.  Your ideas also work of course and I thank you for that.  Cheers.

  • How to delete message from the fodler of  AOL account using Java mail

    Hello All,
    I am using Java MAil API in my application, i want to delete message from AOL account's folder,
    when i set the folder as "Recently Deleted" or "Trash" , i get an exception as "folder does not exist".
    when i tested , some times mail is moving into Recently Deleted folder, but not every time.
    this is happening in both the interface as AOl Interface or my application.
    when i use folder.close(true) after setting the flag of message as DELETED. it completely remove the message from the acount.
    but i want to let the message be remained in the Recently Deleted folder. what should i do.
    i dont want to remove the message completely from the account.I am using IMAP also.

    You'll need to figure out what the real name of the "Recently Deleted" folder is on the AOL IMAP server
    (assuming it's a real folder and not some sort of "virtual" folder), then copy the message into that folder.
    See the folderlist.java demo program as a way to explore the names of all the folders on the server.

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • How can I get rec'd text messages from the same subscriber not be appended

    Hi,
    Is there a way to configure the Apple iphone so that text messages from the same subscriber are displayed separately rather than appended to each other? In this way accidentally deleting one message wouldn't delete the entire history of messages from this subscriber.
    When I launch the SMS service by pressing the green SMS button I am met by a screen that says Text Messages. On the left of this there is a button that says Edit and on the right there is one that is for writing a new message. Down the page are my messages all grouped by the originator of each messages. If I choose one I see that all messages from this source are present appended one after the other. There is also the option now to Clear on the top right hand corner. It is this Clear option I am worried about. If I choose Clear I am asked for a confirmation and then lo and behold as expected all my messages from this subscriber are deleted.
    This is a work phone for support purposes and most of the texts will be from the telephone operator (i.e. the one same number) saying we have an email waiting to be read with a subject title giving a little description. I want to be in a position so that I don't accidentally delete the entire history of messages, say some evening when I'm tired or Monday morning if I 'm a bit asleep. Ideally I would prefer that each text message would stand alone in the Text Messages window irrespective of the originator and not be appended in a group fashion. Is there a way to do this?
    Kind regards,
    M

    There is no way to do that on the iPhone. Messages will always be grouped into a 'conversation' based on the sender/recipient. Only Apple can change that behavior.
    You can submit feedback to Apple: http://www.apple.com/feedback/iphone.html.

  • A message from the creator of Skype?

    Hello,
    a freind of mine got this kessage and I wanted to know if it is official. (I am guessing no, but better safe than sorry).
    <<<  Hi , this is a message from the creator of Skype and it tells you a little bit about what is going to happen to Skype on the 15th of March. Please don't send this back to the person you recieved it from. Dear Skype members, Skype is supposed to be closing down March 15th because it is becoming very overpopulated. There have been many members complaining that Skype is becoming very slow. Records show that there are many active Skype members and also many new members. We will be sending this message around to see if members are active or not. If you are active please send to 15 other users using copy+paste to show that you are still active. *Those who do not send this message within 2 weeks
     will be deleted without hesitation to make more space. Send this message to all of your friends to show that you are still active and you will not be deleted. Founder of Skype...remember to send this to 15 other people so your account SEND THIS MESSAGE TO 15 FRIENDS TO KEEP YOUR SKYPE ACCOUNT—
    Thank you. Peace Out.

    Hi!
    First of all, would the creator of Skype acually want you to send this message to 15 people? How the heck would he know!!!
    1. He wouldn't know how many people it was sent to, you could've sent it to only 1!!
    2. He wouldn't know the people the message was sent to.
    3. Would he know if you EVEN GOT THE MESSAGE IN THE FIRST PLACE?!?!?
    This is actually a scam circulating all over IMs connected to the internet. This is just a chain letter. Look at all the typos in this. So, the next time you see 'Send this to 15 people or else', DELETE.
    Br,
    BlackIncerator

  • Error message from the source system, Caller 09 contains an error message.

    Hi,
        Guru's, i got an error massage when my process chain is running(Daily) in BIW 7.0, the error got in Data Loading from source to PSA or data targets. The errors having the below details
    Error message from the source system
    Diagnosis
    An error occurred in the source system.
    System Response
    Caller 09 contains an error message.
    Further analysis:
    The error occurred in Extractor .
    Refer to the error message.
    Procedure
    How you remove the error depends on the error message.
    Note
    If the source system is a Client Workstation, then it is possible that the file that you wanted to load was being edited at the time of the data request. Make sure that the file is in the specified directory, that it is not being processed at the moment, and restart the request.   "
    Can any body help me out of this situation what to do and how to resolv ethe problem.
    Thanks and Regards,.
    Taps....

    Caller 09 is a very common issue - please search the forums before posting....
    Arun

Maybe you are looking for