JMS distrubuted topic and jms inbound adapter

Hi,
We are building a HA application using precise recovery using JMS. FOr that we want to create a distributed JMS Topic (ckustered JMS Topic). As we understand things, when a JMS subscriber subscribes to a distributed Topic it is actually wired to a sopecific server (a specific fisical JMS Topic). When this JMS server fails the connection is dropped and the JMS subscriber needs to reconnect.
1. Is our understanging correct?
2. If yes and we need to reconnect to the surviving JMS Topic, is there a way to "tell" the JMS Inbound adapter to do so? Is it done automatically by the adapter?
Thanks,

There are a few different things you should be considering when configuring JMS for precise recovery, so I'm afraid this is going to be a long response.
* The precise recovery feature may not work correctly in the case where JMS output messages are lost. Avoiding message loss in the case of a JMS failure involving topics requires the use of persistent messages and durable subscribers. This is true regardless of whether you're using Distributed Topics or a Topic hosted by a single server. So use of durable subscribers is highly recommended when using CEP precise recovery.
* The CEP JMS input adapter won't actually support durable subscriptions until the upcoming 11.1.1.6 (PS5) release. So if you want to use durable subscriptions to avoid problems with precise recovery in the case of JMS server failure you would need to be on this release of CEP (at least for production).
* If you're using the CEP JMS inbound adapter with a distributed topic and a non-durable subscription, you can configure the adapter destination-jndi-name with the logical name of the topic and if the topic member servicing a given consumer fails, the consumer will reconnect to a surviving topic member. This works because you're using a logical destination name (not a physical host name or IP address), so the adapter is able to determine the surviving servers associated with the logical topic and reconnect to one of them. However since you'd be using non-durable subscriptions in this case to achieve failover/reconnect, you can have the problem described above with message loss and precise recovery (non-durable subscribers/non-persistent messaging can lose messages during the actual failover/reconnect).
* Unfortunately, WLS doesn't support durable subscriptions to distributed topics using the logical destination name. When using distributed topics you can only create durable subscriptions on specific topic members, and since these are subscriptions to a specific physical member these subscribers won't failover to another topic member if the server hosting their subscription fails.
So given all of the above you can see that the use of distributed topics with CEP precise recovery may not provide the ideal level of HA (the ability to handle combinations of JMS and CEP failures). You might want to consider using a non-distributed (single server) topic with persistent messaging and durable subscriptions as an alternate approach for precise recovery. In this configuration JMS server failure would require restarting the failed server, but once the JMS server is restarted there should be no message loss and CEP precise recovery should work correctly.
If you're determined to use distributed topics you might want to try posting to the JMS forum to see if anyone there has ideas for other solutions. Just let them know that CEP in this case is essentially acting as a vanilla JMS client (not MDB based) that can't tolerate message loss:
WebLogic Server - JMS

Similar Messages

  • Using socket and JMS protocol in the same logic for OSB

    Hi frnds,
    In my organization...the only communication protocol used is "socket" protocol. However, I want to use JMS protocol to process incoming messages. Can somebody help me figuring out how to go about it.
    Using some nice OSB blogs, I am able to create the JMS connection factory and JMS queues in weblogic. And that works fine when I select the communication protocol as JMS while creating the BS and PS.
    What should be my message flow when the communication protocol used is "socket" for both BS and PS.
    salil

    Hi,
    Make the BS as JMS and the PS as socket, in the PS's flow do a route for the BS... Then if an external call is made to the PS via socket, it will send a messages to a JMS queue...
    Hope this helps...
    Cheers,
    Vlad

  • Inbound Adapter / 'Sink' failing for Content Server on Subscription Client

    I am running into an issue in configuring the Outbound - Inbound Adapters for Connection Server / Subscription Client against Content Server. The details are below. Would sincerely appreciate if anyone can help with this.
    I have installed a Oracle UCM setup together with two Content Server instances (Contribution instance and Live instance), a Connection Server and a Subscription Client - all within the same virtual machine on top of Windows XP SP2 OS and Oracle 10g Database.
    I have further configured the Outbound Adapter on the Connection Server and the Inbound Adapter on the Subscription Client. All installation and configuration has been done following the step-by-step process from the relevant installation guides.
    We have tested the connectivity between the Connection Server and the Subscription Client for a simple file-based content source and it works fine - i.e., files added to a directory registered as a source on connection server are retrieved and sent to the subscription client and received there successfully / dropped in the specified target client directory.
    However, this transfer fails for the Content Server Outbound-Inbound Adapter connectivity. We have an Archive in Content Server registered as a "CNSArchive" and exporting successfully to the CNS Server. The registered outbound adapter is successfully able to receive these updates and are visible through the Connection Server
    interface. The subscription client is also apparently able to receive these updates
    correctly and writes them to the specified folder/directory on the client;
    however fails to "batch load" these and reports a failure writing to the
    Content Sink.
    What we would like is for the ability to establish end-to-end connectivity between the contribution content server instance and the live content server using the connection server + outbound adapter on the sending end together with the subscription client + inbound adapter together on the receiving end. This is failing.
    I have double checked the cns.oracle.config (connection server config), siclone.config (subscription client config), and the source content server's configuration (config.cfg), and all seems to be well. Not really sure therefore what is causing this.
    Here is a snippet of the error trace that keeps showing up in the subscription client logs ...
    [May 18 21:18:34] VERBOSE: scheduler: waiting to run job ICE Connection in 0:00:33.000 ...
    [May 18 21:18:34] VERBOSE: replicator: response: 200 OK for Url:http://192.168.131.65:8891/42/E%3a%2fapps%2foracle%2fucm%2fserver%2fweblayout%2fgroups%2fpublic%2fdocuments%2fucmdocs%2fcpseven.pdf
    [May 18 21:18:34] INFO: replicator: opened connection http://192.168.131.65:8891/42/E%3a%2fapps%2foracle%2fucm%2fserver%2fweblayout%2fgroups%2fpublic%2fdocuments%2fucmdocs%2fcpseven.pdf in 0:00:00.130
    [May 18 21:18:34] ERROR: replicator: ContentSink reported failure to add item.
    [May 18 21:18:34] ERROR: replicator: Telling all sinks to rollback changes
    [May 18 21:18:34] ERROR: replicator: crawl failed
    [May 18 21:18:34] VERBOSE: scheduler: job completed:ICE Request: 43

    Don't know if anyone is still having problems with this, but just in case...
    I was getting a similar error. I had an Event Viewer record (It wasn't a Warning or an Error, just an Information) reading:You are running a version of Microsoft SQL Server 2000 or Microsoft SQL Server 2000 Desktop Engine (also called MSDE) that has known security vulnerabilities when used in conjunction with this version of Windows. To reduce your computer's vulnerability to certain virus attacks, the TCP/IP and UDP network ports of Microsoft SQL Server 2000, MSDE, or both have been disabled. To enable these ports, you must install a patch, or the most recent service pack for Microsoft SQL Server 2000 or MSDE from http://www.microsoft.com/sql/downloads/default.asp
    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
    I installed SQL SP4 and it corrected the problem

  • Issue with JMS inbound Adapter  and Asynchronous BPEL

    Hi Gurus,
    I am facing the below issue with JMS inbound Adapter and Asynchronous BPEL .
    I have 2 JMS Queues one inbound and one outbound . The Composite has multiple BPEL Components around 4 on an average and i have 4 composites similar to that .
    Totally 4 Composites * 4 BPEL Components = 16 Services
    Propoesd Solution :
    I have used MessageSelector in the JMS Adapter for selecting the incoming message. The BPEL gets invoked if the message selector is true and proceses the Message and writes the response to the other Queue.
    Initially i had no problems but intermittantly the BPEL processes are getting invoked but they are not processing the data ( Bpel process is supposed to invoke an external service and get the response in a sync call) and each BPEL processe instance is in running state for ever . This remains even if i restart the servers .
    The message gets read by the JMS Adapter , BPEL instace gets created but it wont proceed futher and remains in the runnign state for ever.
    If i redeploy the Composite then messages get processed but the issue creeps up again ( i tried to checl the logs but ino cluea about the issue .
    Getting frustrated day by day tried the bpel.config.transaction, increased the JMS Adapter threads , inreased the worker threads but all in vein..
    please let me know if any one has faced similar issue .
    Anticipating a quick response from the gurus.
    Lakshmi.

    We are also facing this issue in 11.1.1.5.
    Breifly the issue is : The BPEL process which polls an inbound JMSAdater ( consume_message) either stays in running state forever ( whatever we do) or go to the recovery queue. It doesnt recover even if i try to recover it. This happens intermittently. Redeploying the application / restarting servers sometime solve the issue but as know we cant do that on prod systems .
    Can some one look into this on priority and help us giving a solution/workaround.

  • 1 "simple" JMS topic and 2 cluster elements with OSB

    Hi,
    I have 1 simple jms topic (not distributed, not on migratable target) and cluster with 2 members - OSB as main application. My OSB proxy service reads from this topic and saves data to file.
    The problem is that reading from topic appears twice - once by each cluster member. How to configure topic or proxy service for only one reading?

    FYI - At this year's Oracle OpenWorld, which is being held in conjunction with this year's JavaOne, Oracle will be announcing a set of enhancements that are designed to cover this exact use case.
    Tom Barnes
    Session ID: S317469
    Title: New Service-Oriented Architecture Patterns with Enterprise Grid Messaging
    Abstract: Messaging systems are essential in enabling the flexibility and loosely coupled nature of a service-oriented architecture (SOA). Oracle WebLogic Java Message Service (JMS) includes new pub-sub capabilities that make architectures more adaptable, allowing message producers to be ignorant of who is the consumer of a message or how many consumers there are. It also enables easy scale out and dynamic adaptability through clustering and message-driven bean (MDB) enhancements, all while still guaranteeing strict message ordering. This session will outline new JMS capabilities and show how they enable new designs with Oracle WebLogic Server and Oracle Service Bus.
    Speaker(s): Dongbo Xiao, Oracle, Principal Member of Technical Staff
    Biography not available.
    David Cabelus, Oracle USA, Senior Principal Product Manager
    Dave Cabelus is a Senior Principal Product Manager in the WebLogic Server group at Oracle. Dave's responsibilities include product strategy and direction for various pieces of WebLogic Server, including Java Messaging, Operations and Management, Diagnostics, and various other initiatives, and previously included database connectivity, transactions, and Web tier integration. In the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001.
    Event: JavaOne and Oracle Develop
    Stream(s): ORACLE DEVELOP, DEVELOP
    Track(s): Application Grid and Oracle WebLogic
    Tags: Add
    Session Type: Conference Session
    Session Category: Features
    Duration: 60 min.
    Schedule: Thursday, September 23, 11:00AM | Hotel Nikko, Nikko Ballroom II Available
    Edited by: TomB on Aug 12, 2010 1:21 PM

  • What is the Difference between AQ adpater and JMS adapter??

    What is the Difference between AQ adpater and JMS adapter in BPEL11g??
    In what scenarios we go for AQ and for what scenarios we go for JMS adapter???

    Go for AQ when using Oracle Advanced Queueing (the database stuff).
    Use JMS when using JMS (in memory of file queues)
    hth,
    Peter Paul

  • Configuration for JMS Adapter Sensor action and JMS Queue sensor action..!!

    Hi,
    Id like my BPEL process to send an XML message to JMS on Websphere,I was able to do this through a JMS adapter.But I would more like to add sensors into my process which would really do the same thing - send an XML message to JMS Q.
    Now I understand that there are two ways to do this,JMS Queue and JMS Adapter - thorugh bpel sensor action.
    I am able to use JMS Queue and it works fine , but adds its own xml tags to the message,Is there any way I could send only my xml payload as a message to the queue??
    Also could any1 tell me what is the configuration for JMS Adapter sensor action?
    Any suggestions how do I go about it??

    Hey Anirudh,
    Thanx for the response :-)
    All these hold good when I have an AQ adaptor right,But the thing is I want to send a message to a 'JMS' queue with out actually using an adapter configuration wizard and everythng..So I resolved to JMS queue Sensor action..Heres the xml snippet from the sensorAction.xml files which is generated..
    <actions targetNamespace="http://xmlns.oracle.com/Test_JMS_Logging" xmlns="http://xmlns.oracle.com/bpel/sensor" xmlns:tns="http://xmlns.oracle.com/Test_JMS_Logging" xmlns:pc="http://xmlns.oracle.com/bpel/sensor">
    <action name="JMS_LogEntry" publishName="" publishType="JMSQueue" enabled="true" filter="" publishTarget="jms/L_Queue">
    <property name="JMSConnectionFactory">jms/L_QueueCF</property>
    <sensorName>ActivitySensor_JMS</sensorName>
    </action>
    </actions>
    This works grt and adds messages to the queue..But adds its own header info according to the sensor.xsd loacted at the Oracle_home\bpel\system\xmllib\ folder.
    Right now the XML message added to the Queue is:-
    <actionData xmlns="http://xmlns.oracle.com/bpel/sensor">
    <header>
    <sensor sensorName="ActivitySensor_JMS" classname="oracle.tip.pc.services.reports.dca.agents.BpelActivitySensorAgent" kind="activity" target="AddLEntr
    y" xmlns:pc="http://xmlns.oracle.com/bpel/sensor" xmlns:ns2="http://www.ulrhome.com/2008/10/L_Entry" xmlns:tns="http://xmlns.oracle.com/Test_JMS">
    <activityConfig evalTime="completion">
    <variable outputDataType="string" outputNamespace="http://www.w3.org/2001/XMLSchema" target="$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName"/>
    </activityConfig>
    </sensor>
    <instanceId>950016</instanceId>
    <processName>Test_JMS</processName>
    <processRevision>v2009_04_15__40833</processRevision>
    <domain>default</domain>
    <timestamp>2009-04-15T11:21:23.596-04:00</timestamp>
    <midTierInstance>app01.ulrhome.com:9700</midTierInstance>
    </header>
    <payload>
    <activityData>
    <activityType>scope</activityType>
    <evalPoint>completion</evalPoint>
    <durationInSeconds>0.011</durationInSeconds>
    <duration>PT0.011S</duration>
    </activityData>
    <variableData>
    <dataType>12</dataType>
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    <queryName/>
    <target>$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName</target>
    <updaterName>AddL_Entry</updaterName>
    <updaterType>scope</updaterType>
    </variableData>
    </payload>
    </actionData>
    My requirement is that I need to add a sensor to the BPEL process which posts 'Only my payload message to the JMS queue'..
    What I would want the message in the Queue to be is : -
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    Also while creating a Sensor action I get another option as JMS Adaptor,I am not sure of what value to type in this wizard..Heres what I keyed in..M sure this is not right..Cos it dosnt work :-)
    <action name="SensorAction_JMS" publishName="" publishType="JMSAdapter" enabled="true" filter="" publishTarget="jms/LoggingQueue">
    <property name="JMSConnectionName">Log</property>
    </action>
    </actions>
    Could any 1 tel me what values are the right values..And does JMS Adapter mean that I have to create a JMS Apator in the project and give that connection name as a Value..
    I am not finding sufficiant Documentation for 'JMS Adapter' so M clueless and right now any help will be appriciated :-)
    Regards,
    Akshatha.

  • Can JMS topics and queues be clustered in a WLS 7.0 Cluster?

    We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
              node servers. Two nodes have been clustered. We are at the point where we
              need to configure JMS. Has any one implemented JMS in WLS 7 clustered
              environment? What are the things to watch out when clustering JMS? Can JMS
              topics and queues be clustered?
              TIA for any helpful hints and comments.
              Regards
              

    "Karim Ali" <[email protected]> wrote:
              >> Has any one implemented JMS in WLS 7 clustered
              >> environment?
              I'm currently working on a project with WLS 7 here at work, involving
              the implementation of BEA's JMS Cluster. So far, I really haven't had
              many hiccups.
              "Karim Ali" <[email protected]> wrote:
              >> What are the things to watch out when clustering JMS?
              At least in WLS 7, the biggest thing that stands out is the lack of
              automatic failover. Also, Message Paging -- make sure you configure
              paging high/low thresholds. Or, if you don't wish for it to occur but
              can't stop the server (very common these days with SLAs), set that
              byte/message high threshold to a very large number (correct me if I'm
              wrong, but I believe BEA recommends 2^63 -1).
              "Karim Ali" <[email protected]> wrote:
              >> Can JMS topics and queues be clustered?
              Well, since Topics and Queues are extensions of the
              javax.jms.Destination interface, the answer is: Yes!
              (SIDE NOTE: most people usually refer to them as a [JMS] "destination"
              -- it avoids a lot of conceptual baggage and plus, less typing!)
              You'll probably want to see this section of BEA's e-docs:
              http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
              later,
              Brian J. Mitchell
              BEA Systems Administrator
              TRX
              Atlanta, GA
              email: [email protected]
              office: 404-327-7238
              mobile: 678-283-6530
              

  • Difference between AQ Adapter and JMS Adapter

    Hi All,
    i am very new to SOA. let me know the difference between AQ Adapter and JMS Adapter.
    thanks
    Hari

    Please go thru the bellow link
    http://www.mscd.edu/~ittsdba/oradoc817/ois.817/a83729/adois07.htm#408020
    Krishna

  • JMS Topics and Selectors

    I'm running into a problem when using JMS Topics and selectors.
    If I just use:
    subscriber = session.createSubscriber(topic);
    everything works fine.
    However, if I use
    subscriber = session.createSubscriber(topic, "Property = 'Value'", false);
    I get an invalid topic exception from EvermindTopicSession.createSubscriber() line 84.
    I'm using OC4J 9.0.3 standalone.
    What might I be doing wrong?

    [bump]
    Incidentally, I've also noticed that JMSTimestamp is not set. I've even tried setDisableTimestamp(false). The timestamp still won't be set. I can set the timestamp manually myself using setJMSTimestamp. Also, message time to live doesn't seem to work with Topics (not sure about queues).
    Is this a well known problem?
    Is it an OC4J problem or a JMS problem?

  • Regarding JMS-Queue/Topic in Proxy and Business service in OSB

    Hi
    I have one query regarding to the JMS-Queue/Topic.
    I am published the message to the JMS-Queue/Topic.
    ----My Business-service configuration is---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    Response--None
    I call this Business-service in proxy-service of Routing message was published successfully to thee Queue.
    I try to dequeue the message from that queue for this
    --- I take another proxy with---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    In meassage flow
    Routing--second busines-service)
    --- Second business-service configuration is---
    General----Any xml
    Tranport-File (C://temp)
    Issue is when I publish the message to Queue,the message is also found in the file  i.e C:temp. I don't now why  this come to the file.*
    Any suggestions
    Thanks
    Mani

    Either I did not get an idea, but in your JMS proxy you are routing to File :)
    If you don't want file, why route to 2nd BS ?

  • Accessing JMS Queue/Topic located in different Managed server on same domai

    Our use-case is as follows.
    In our weblogic domain we have SOA_Cluster and a stand alone managed server. All the custom JMS resources belong to a JMS server that is targeted to stand alone JMS server. We are trying to access JMS Queues/Topics located in the stand alone managed server from JMS adapter (part of SOA Cluster).
    I am wondering what should be our adapter configuration in this scenario. In going through JMS adapter use-cases (below is the link), there is a mention of how to access resources located in Remote weblogic Domain. I am wondering if the same applies to us OR if there is better way to access JMS resources for our use case.
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10231/adptr_jms.htm#CJAHAFGF
    Appreciate your feedback.

    Yes, the same applies for your case but no need to enable trust. Rest of the things will remain same.
    Better you post weblogic related questions in Weblogic forum.
    Regards,
    Anuj

  • BEPL and JMS

    Hi all, I havent really been using BPEL long neither am i very aware of how to use the various oracle products efficiently.
    I do, however, need to use a BPEL process to send a JMS message. Preferably to OpenJMS. I have had a look at the samples and they all seem to work fine. However, when i try to modify the samples to use my destination queue they just bomb out with the error:
    [2006/01/20 14:39:13] "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown. less
    <bindingFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="code">
    <code>GenericError</code>
    </part>
    <part name="summary">
    <summary>null</summary>
    </part>
    </bindingFault>
    I know, really helpful! What i think is happening is that they is no actual physical storage for the queue and there fore it cannot be written to. Also, would i be correct in thinking that 'oc4j-ra.xml' file in the folder 'integration\orabpel\system\appserver\oc4j\j2ee\home\application-deployments\default\JmsAdapter' is the only file that needs editing in order to use a different jndi? I added this section to attemp to create a new jndi for OpenJMS
         <connector-factory location="eis/openjms/Queue" connector-name="Jms Adapter">
              <config-property name="connectionFactoryLocation" value="QueueConnectionFactory"/>
              <config-property name="factoryProperties" value="java.naming.factory.initial=org.exolab.jms.jndi.InitialContextFactory;java.naming.provider.url=rmi://localhost:1099"/>
              <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/>
              <config-property name="isTopic" value="false"/>
              <config-property name="isTransacted" value="true"/>
              <config-property name="username" value="admin"/>
              <config-property name="password" value="openjms"/>
         </connector-factory>
    Does that look correct and will (should) that expose the OpenJMS interface to any BPEL process wishing to take advantage of it? What if i wanted to use the JMSService and not the inbuilt JMS Adapter to talk to OpenJMS. What file(s) would i have to edit then in order expose the OpenJMS jndi?
    I know that this is probably really simple for some (most) of you. But i've been trying to sort it out for days now to now avail. With the sheer number of configuration files im at a loss to know what bit of what file is for what component.
    Thanks muchly to all kind replies in advance
    Cheers
    Ian Harrigan

    Here is my confusion (I'm using J2EESDK1.3).
    On a local server I did the following
    j2eeadmin -addJmsFactory jms/RemoteTCF topic -props url=corbaname:iiop:mars#mars
    In the app client running on the local server I had the code
    ic = new InitialContext();
    // JNDI lookup. The resource factory ref points to the
    // Remote Connection Factory I registered
    tcf = (TopicConnectionFactory)ic.lookup("java:comp/env/jms/TopicConnectionFactory");
    // The env ref points to jms/Topic of the local server
    pTopic = (Topic)ic.lookup("java:comp/env/jms/PTopic");
    So I'm assuming that I'm using a connection factory that connect to mars and a Topic on the local box.
    On remote server mars, I deployed a MDB which use
    jms/TopicConnectionFactory and jms/Topic. But I'm thinking this jms/Topic and the one I used on the local box are not the same one. Right? Then how could the app client and the MDB share messages?
    Some of my explanation I don't if it makes sense or not.
    ConnectionFactory is a way to tell what kind of connection it could generate (Queue, Topic, Durable etc) and Where the connection would go to (local or remote).'
    As for as destination, I'm not sure. How could two server share one Topic?

  • Problem with EJB and JMS - Failed to obtain/create connection

    hello ejb and jms programmers,
    My problem is my topic MDB keep on retrieving the same message when there is a database connection failure. Maybe somebody could help me how to prevent to retrieve the same data?
    Given:
    - I purposedly turn off the pointbase database because im testing my error handling.
    - Im using SJSAS 8 as my application server.
    - My message Driven Bean of topic type.
    - Im using CMP for my entity bean
    Here is the scenario of whats happening - step by step:
    1. A separate application publishes a message to JMS queue server
    2. My MDB retrieves this message and do some processing then inserts a record (transaction history) in my database
    3. But my db is turned off or down
    4. My MDB sends a successful processing reply to the JMS queue server
    5. Then i noticed that my server.log keeps on growing so when i opened it, the record was not inserted and printed the stacktrace below "RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException" (complete stacktrace below)
    6. I understand the cause of the stacktrace is because the DB is turned off. But what i dont understand is that my MDB keeps on reading the same message. Since my MDB is of topic type, isnt a topic MDB supposedly reads a message only once???
    So my questions are:
    1. how do i handle insert database error?
    2. how can i stop my MDB from processing the same message?
    3. any better suggestions?
    Thank you in advance :)
    leigh
    *** more complete stack trace ***
    [#|2005-01-09T15:35:57.097+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=17;|JTS5041: The resource manager is doing work outside a global transaction
    javax.transaction.xa.XAException
         at com.pointbase.xa.xaException.getXAException(Unknown Source)
         at com.pointbase.xa.xaConnectionResource.start(Unknown Source)
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    [#|2005-01-09T15:35:57.167+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5027:Unexpected exception in resource pooling
    javax.transaction.SystemException
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:185)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
    [#|2005-01-09T15:35:57.177+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException|#]
    [#|2005-01-09T15:35:57.227+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: javax.transaction.SystemException]|#]
    [#|2005-01-09T15:35:57.237+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=17;|EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO77006: SQL exception: state = null, error code = 0.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
    FailedObjectArray: [[email protected]5ac]
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnectionInternal(TransactionImpl.java:1444)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnection(TransactionImpl.java:1339)

    Hi annie,
    Wherever you are handling database transactions,
    you'd not be able to create a Connection if database
    is closed (I think you mentioned turning off the
    database) then at this condition, you should
    certainly throw a System level exception and stop all
    processing with some meaningful flow to indicate a
    failure (like display message on UI). Even
    network problems are handled by exceptions... so I
    don't see a reason why you didn't wrap it in the
    first place.
    Anyway, try handling specific exceptions rather than
    the general Exception... this will give you a better
    idea of what to do in case of an exception.Yes i know this. I am practicing this in my non-j2ee server applications. But the j2ee app im making, i just pass the db url in the descriptor and the app server automatically creates the connection for my app. So where would i put exception handling?
    2. how can i stop my MDB from processing the same
    message?Guaranteed delivery is not supposed to stop
    processing. It will continue to process the message
    after certain intervals till the message is
    delivered. You shouldn't deliver it at all, if you
    are able to detect that the database is off
    The problem here is that my MDB automatically retrieves the message from the JMS queue server. Im not the one retrieving the messages manually.
    My assumed behavior of topic MDB is once the a certain MDB retrieves a message it will not retrieve the same message anymore.
    thank you in advance.
    leigh

  • Content Conversion - JDBC and JMS

    Can we use File Content Conversion with JDBC and JMS ?

    Hi,
    How To Use the Content Conversion Module in JMS Adapter - https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377&
    check this for JMS content conversion:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
    Check the how to guide provided by prabhu and also this link on the XMl To TeXtCoversion Module,
    http://help.sap.com/saphelp_nw04/helpdata/en/44/748d595dab6fb5e10000000a155369/content.htm
    Ref How To Use the Content Conversion Module in JMS Adapter -
    https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377&
    See this weblogs which was shown with examples:
    How to use SAP's WebAS J2EE's JMS Queue in Exchange Infrastructure
    Sync/Async communication in JMS adapter without BPM (SP19)
    Async/Sync Communication using JMS adapter without BPM (SP 19)
    Exploring JMS and SAP-XI JMS Adaper
    Configuring the sender JMS adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Configuring the receiver JMS adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    Check JMS Adapter section of this blog by Sravya:
    Aspirant to learn SAP XI...You won the Jackpot if you read this!-Part III
    Also information related to Provider-specific settings are available
    http://help.sap.com/saphelp_nw2004s/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/frameset.htm
    Plz do refer the following threads:
    JMS Content Conversion - no CR/LF
    Message (Data) getting lost after JMS Content Conversion(Sender)
    Message (Data) getting lost after JMS Content Conversion(Sender)
    Message (Data) getting lost after JMS Content Conversion(Sender)
    Regards,
    Vinod.

Maybe you are looking for

  • How can I delete photos from iPad but not iCloud?

    Before setting up iCloud, my girlfriend downloaded photos from her camera to her iPad.  We now have iCloud set up, but the photos on her iPad remain in the "Photos" album instead of Photo Stream.  I would like to delete the photos from the iPad to fr

  • Log mining is taking too much time in logical standby database

    dear DBAs, today i found a gap between the production database and the logical standby database and i found that the log mining is taking more than 1 hour to complete an archivelog (size: 500M) note that the MAX_SGA is 1500M and the MAX_SERVERS=45 th

  • How do you set up and work single image variations?

    Howdy Forum, My question is L4 workflow related. As everyone else, I select an image file and fiddled about in the `Develop` mode until I am happy with the result which is great. The modified image is in the catalog which is also great. On other occa

  • Changing Header data in the part appraisal document

    I have implemented a BADI using the definition HRHAP00_ACC_HEADER. The next step is to ensure that at Category level the Changes to Part Appraisal enhancements is selected on the Enhancements tab page. However, the enhancement is not displayed in the

  • Adoafmctl.sh , adforsctl.sh have time out errors

    when i run adstrtal.sh script i face some time out error in some script for example Executing service control script: /opt/oracle/inst/apps/PROD_prodapps/admin/scripts/adoafmctl.sh start Timeout specified in context file: 100 second(s) script returne