MDB and "stuck" messages

Hi,
We're developing a MDB listening to a AQ/JMS database persistant queue, on a Oracle JMS provider.That MDB as to be bullet proof (no lost messages), and that's why we're using database persistance.So far everything is working fine, but we have one issue that cause some headackes.
For what I know, the onMessage() method doesn't acknowledge to the provider until the method completes, without trowing an exception. In that case, the provider rollback so he can try to redeliver the message again. Since we have some important processing done within the onMessage() method, we were worried about what would happen if the MDB crash (java code crash, server crash, sledgehammer hit). I tryed to read that message via a java class I wrote, but I couldn't. (i guess the message is still waiting for the acknowledge)
So to make it short, I placed a "thread.Sleep" in the middle of the onMessage() method, I deployed it on my application server, put a message in the queue, and I pressed the reset button of my machine. The result was that the message was still in the queue (that's nice since we didn't lost it), but never redelivered, and after some time (like 12h), the message was gone of the database and not delivered. (the message expiration was set to 0)
So the big question would be: what happen to a JMS message if the MDB crash for any reason and what's the behavior of the JMS provider, and if there's anything we can do to redeliver that "stuck" message?
I guess the provider keep the status of each message somewhere in the database (something that says to him that the message is in develery, waiting for acknowledge).
Thanks

Most likely this is some server configuration issue and not an actual programming problem (because as you say yourself, on another system it works). I can advise only two things.
- dig through the weblogic documentation
- take your question to the weblogic forum
https://forums.oracle.com/forums/category.jspa?categoryID=193

Similar Messages

  • MDB receive a message and then call an external web service

    Title basically says it all, but I'm looking for suggestions for the best way to have a message driven bean receive a message then process it and call an external web service with the results. This seems like a straightforward problem to solve but I keep getting stuck in the deployment to weblogic when I do it my way so I'm looking for new ideas.
    Basically, I have an MDB that gets deployed to WL 10.3 and receives messages just fine. Also, I have a standalone class, that runs from the command line or IDE, that can send messages to the external web service. But when I try to bring the code from the standalone class into the MDB and get it deployed, I can't get all the dependencies to resolve.
    So, is there a proper (quick and easy) way to do this? Which wizard should I be using to get Workshop to create web service client so that I can use it in my MDB project? Any suggestions to tutorials?
    Thanks,
    Matt

    Yes BusinessService is the reference point used in OSB to call a backend provider service. So we need to configure the business service based on the external service (they can be http based, jms based, etc ..)
    In your case I am assuming it is a http based web service. So below are the steps to be done:
    1. Create a business service (if you dont have a wsdl then create it as "Any soap type" else upload the wsdl as a wsdl resource and then use it) and configure the url of the business service with the URL of the external service you want to invoke.
    2. From the proxy flow, have a service callout action and select the business service. Then configure the appropriate body and header variables.
    3. Then test the proxy service from the test console, you should be able to see the response from the external service as a part of the service callout response.
    Let me know if you still have issues.
    Thanks,
    Patrick

  • My iphone 3gs does not restore and is stuck on white screen and a message in itunes which says "waiting for itunes" plz help.

    My iphone 3gs does not restore and is stuck on white screen and a message in itunes which says "waiting for itunes" plz help.
    i have tried to restore it to different firmwares, tried resetting ,dfu mode , different systems etc etc nothing worked

    My iphone 3gs does not restore and is stuck on white screen and a message in itunes which says "waiting for itunes" plz help.
    i have tried to restore it to different firmwares, tried resetting ,dfu mode , different systems etc etc nothing worked

  • MDB and transactions

    Hello,
    I was wondering if anyone else has experienced this problem and/or can suggest a solution...btw, I'm running this on JRun4.
    I have a JMS queue that uses a database for the queue. The onMessage method for my MDB is part of a container managed transaction. My onMessage method simply inserts the message into an audit table. I then purposely change the name of the audit table so that my MDB will throw a SQLException.
    If I send a single message, a SQL exception is thrown and caught and I roll back the transaction via MessageDrivenContext.setRollbackOnly(). The stdout logs show that after the exception the transaction is rolled back and the message is resent. This sequence occurs repeatedly until I fix the column name and then the message is consumed and inserted in my audit table. This works as I expect.
    If I were to send 2 (or more) messages, the same SQL exception occurs for each message and the transaction is rolled back and the message(s) are resent. However, once I fix the table error, I find that those 2 messages were repeatedly consumed and inserted into the audit table (e.g. there were 50+ inserts). In the stdout logs it appears once the database problem is corrected each transaction that was rolled back now ends up commiting leading to repeat consumptions.
    Has anyone encountered this? I'm a bit confused as to why, since the rollbacks, resends, and commits appear to work fine when there is only a single message.
    Any suggestions? Thanks.

    This is only a guess, but I'd say that the implementation isn't using two-phase commit aware resources (XAResources) to coordinate modifications to the backend database table. If you're only using a single resource (message in your case) then it's fine to use raw JDBC and turn auto-commit off; the application or container can then use the JDBC driver commit or rollback operations to make the change to the table happen (or not). If you're doing multiple updates through the same JDBC driver within the same global transaction then this still works.
    I wonder if the implementation is somehow adding each message through a separate JDBC instance (even though to the same back end DM) and committing each prior to doing work on the next message. This commit may not be explicit. You may not even know it is going on: for example, if the back end db is Oracle, if you do a close on a JDBC connection which is running in a transaction then it will implicitly commit the transaction at that point.
    For instance:
    receive message
    get JDBC connection
    add message to table
    close JDBC connection (may be explicit or may be implicit via the container)
    <-- commit happens here in some cases
    receive message
    get JDBC connection
    add message to table
    What the implementation really should use is XADataSources and XAConnections to get XAResources that coordinate updates to the database. Or, make sure the same JDBC connection is used within the same transaction. This is more difficult to coordinate because of close.

  • MDB and Trasactions dilemma.

    OK, I've got this MDB that gets messages off of Queue A, does some work and then sends a response to Queue B, where something is listening.
    This work flow works very well for me.
    What happens when something goes wrong? I'm using container managed transactioning so if I get a runtime exception the container puts the message back on the queue and reties a few times. After those few tries the container gives up and and throws a System Exception.
    Here's the problem...how do I send something to my response queue to tell my waiitng app that the transaction failed. I can't use timeouts on the listener side b/c I have no idea how long these processes could take when working correctly.
    HELP :-)

    OK, I've got this MDB that gets messages off of Queue A, does some work and then sends a response to Queue B, where something is listening.
    This work flow works very well for me.
    What happens when something goes wrong? I'm using container managed transactioning so if I get a runtime exception the container puts the message back on the queue and reties a few times. After those few tries the container gives up and and throws a System Exception.
    Here's the problem...how do I send something to my response queue to tell my waiitng app that the transaction failed. I can't use timeouts on the listener side b/c I have no idea how long these processes could take when working correctly.
    HELP :-)

  • MDB and Trasaction problems...well sort of

    OK, I've got this MDB that gets messages off of Queue A, does some work and then sends a response to Queue B, where something is listening.
    This work flow works very well for me.
    What happens when something goes wrong? I'm using container managed transactioning so if I get a runtime exception the container puts the message back on the queue and reties a few times. After those few tries the container gives up and and throws a System Exception.
    Here's the problem...how do I send something to my response queue to tell my waiitng app that the transaction failed. I can't use timeouts on the listener side b/c I have no idea how long these processes could take when working correctly.
    HELP :-)

    If anyone who has anything to add to this scenario...please do!!

  • EJB 3.0 MDB and transactions

    I'm trying to use an XA topic connection factory in my MDB, I was getting a "not supported in this release" error until I added this annotation to my MDB:
    @MessageDrivenDeployment(
    resourceAdapter = "myProviderInstance"
    But now my MDB is no longer dequeuing messages.
    I found the following in the docs (http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28221/undejdev010.htm#CCHGGHAE)
    --- BEGIN QUOTE FROM ORACLE DOCS ---
    If you use @MessageDrivenDeployment, you can configure message service options using nested @ActivationConfigProperty annotations or using @MessageDrivenDeployment attributes: @ActivationConfigProperty configuration overrides @MessageDrivenDeployment attributes.
    If you use @MessageDriven, you can configure message service options using nested @ActivationConfigProperty annotations only.
    If you configure using @MessageDrivenDeployment attributes, your application can only access a message service provider without a J2CA resource adapter. If later you decide to access your message service provider using a J2CA resource adapter, your application will fail to deploy. If you configure using nested @ActivationConfigProperty annotations, your application can access a message service provider with or without a J2CA resource adapter. Oracle recommends that if you configure using annotations, you should use the @ActivationConfigProperty approach.
    Example 2-6 shows both a @MessageDrivenDeployment and @MessageDriven annotation using @ActivationConfigProperty annotations for message service configuration. Note that the DestinationName activation configuration property in the @MessageDrivenDeployment annotation overrides that in the @MessageDriven annotation.
    Example 2-6 @MessageDriven and @MessageDrivenDeployment Annotation for a J2CA Message Service Provider
    import javax.ejb.MessageDriven;
    import oracle.j2ee.ejb.MessageDrivenDeployment;
    import javax.ejb.ActivationConfigProperty;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    @MessageDriven(
    activationConfig = {
    @ActivationConfigProperty(
    propertyName="DestinationName", propertyValue="OracleASjms/MyQueue"
    @MessageDrivenDeployment(
    activationConfig = {
    @ActivationConfigProperty(
    propertyName="DestinationName", propertyValue="OracleASjms/DeployedQueue"
    @ActivationConfigProperty(
    propertyName="ResourceAdapter", propertyValue="OracleASjms"
    --- END QUOTE FROM ORACLE DOCS ---
    So, instead of specifying the resource adapter as I had above, I simply pasted the last bit of annotations from the docs into my MDB, and much to my surprise I learned that you can't have an activationConfig in a @MessageDrivenDeployment
    What's the solution?

    OK, I got a little further. Everything works now as such
    I'm using the XA topic connection factory, I'm using the resource adapter.
    BUT, when I set the transaction required attribute on the MDB, I no longer receive messages.
    No errors are logged anywhere. Any suggestions?

  • Syncronizing my 3gs with itunes the sync does not finish because itunes allways crash and stuck i made some troubleshoots like reinstall again but nothing and my itunes is update and the system is windows vista home premium.Please help me...

    Syncronizing my 3gs with itunes the sync does not finish because itunes always crash and stuck and i can not sync my device, i dont no whats wrong because the itunes even can not  acess itunes store, still loading waiting for itunes store and nothing.I tryed reinstall itunes but just waste of time.
    My itunes is update, iphone 3gs 4.3.4, system is windows vista home premium.
    Please help me.

    I also have the Mcaffe security centre so on the face of it we have very similar situations and I had not problems.
    You asked what I meant about saving the installer on your PC.
    When you go to the iTunes download page:
    http://www.apple.com/itunes/download/
    And click on download, you should be offered the choice of running the installer or saving it. You need to click on save and then choose a folder on you PC where you want it saved. But I think you already did that.
    After the installer file - iTunessetup.exe - is save on your computer, you double click on it to run it.
    It's very odd that the installer fails at different stages. usually when the installation fails, it is at a specific stage and usually generates an error message.
    I am afraid I am mystified. Have you had any other problems with your PC which might suggest a general problem not specific to iTunes?
    The only other suggestion I have is to download a fresh copy of the installer - in case it got corrupted. You could also try using "run as administrator" to run the installer. It should be an option if you right click on the installer file.
    The other thing it might be worth trying is to install it from another account, but you would need to create another administrator account if you don't a;ready have one. Or if you have another account that is not an admin account, you can temporarily promote it from the control panel>>User accounts.

  • Deployement order of MDBs and SSBs

    Hi All,
    Facing the issue with deployment order of EJBs in one ear,
    MDBs start reading and processing message before SSBs are initialised in JNDI while server startup.
    And JNDI lookup for SSB from MDB failes JNDI lookup exception gets raised, failing the whole processing of message.
    1) MDBs jar and SSBs jar are in one EAR, so deployment order attribute can't be specified in config.xml or thru admin console, as it is with an application.
    2) Have tried <start-mdbs-with-application>false</start-mdbs-with-application> (even with true)
    as per http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ejb/message_beans.html#wp1167264
    but it doesn't work.
    3) Now planning to use WL LifeCyclelistner and get server state = RUNNING, before starting to process the messages in MDB.
    Anybody has any viable solution other than this?
    Thanks & Regards,
    Keyur

    Hi Keyur,
    Which version on weblogic are you using because its seems that this might be a bug and similar bug was seen in WLS-9.2 version more details are given below:
    From the link below which you gave it states that
    “Set to false to defer message processing until after WebLogic Server opens its listen port.”
    Search for: start-mdbs-with-application
    Link-1 http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ejb/message_beans.html#wp1167264
    # Conclusion:
    This means that “false” should have resolved your issue but it is not so this might be a bug. Similar bug was seen in WLS-9.2 version which was fixed in WLS-9.2 Mp-1 version check out the link below.
    Search for: CR293982 or CR299012
    Link-2 http://download.oracle.com/docs/cd/E13222_01/wls/docs92/issues/known_resolved.html
    However if it was fixed in WLS 9.2 Mp-1 then the same issue is most probably taken care in WLS 10.x.x version also.
    # Suggestion:
    - Try to set “start-mdbs-with-application” as “true” and check if that works for you.
    This is because if you read the “Link-1″ carefully it states that “With default setting of true”, however when you check the “Default” column it shows “false”. Hence cant say which one is default. It might be document bug as well. However you have tried it so you can skip this suggestion.
    # How to solve this issue:
    1) Create a simple test case to prove that “start-mdbs-with-application” when set as “false” does not work.
    2) Open a ticket with Oracle and provide all the details with the test case and let them do their job.
    Hope this information helps.
    Regards,
    Ravish Mody

  • Creating a MDB and Distributed Queue in Clustered env in weblogic 9.2

    I have created 3 managed servers and all these managed servers are in the cluster.
              Now i create JMS module for this cluster and create the Connection factory 'QUEUE_CF_8' and distributed Queue 'DIS_QUEUE_8' targeting to the cluster.
              I create a MDB and JMS client and deploy them in the cluster.JMS client sends the message to the distributed queue and MDB is listening to the distributed queue
              When i deploy the MDB , it is deploys perfectly . But when i run the client it fails with the following exception
              [java] javax.naming.NameNotFoundException: Unable to resolve 'QUEUE_CF_8'. Resolved '' [Root exception is javax.naming.NameNotFoundException: Unable to resolve 'QUEUE_CF_8'. Resolved '']; remaining name 'QUEUE_CF_8'
              When i view the JNDI tree for all the managed servers , i can see the Connection factory and the distributed queue.
              Also i deploy the MDB to the cluster and no submoduletargets are specified.
              Let me know what is that iam missing.

    <?xml version='1.0' encoding='UTF-8'?>
              <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
              <connection-factory name="Queue_CF_8">
              <sub-deployment-name>Server_group_4</sub-deployment-name>
              <jndi-name>QUEUE_CF_8</jndi-name>
              <security-params>
              <attach-jmsx-user-id>false</attach-jmsx-user-id>
              </security-params>
              </connection-factory>
              <uniform-distributed-queue name="DIS_QUEUE_8">
              <sub-deployment-name>Server_group_4</sub-deployment-name>
              <jndi-name>DIS_QUEUE_8</jndi-name>
              <load-balancing-policy>Round-Robin</load-balancing-policy>
              </uniform-distributed-queue>
              </weblogic-jms>
              But the problem was with the clustering.
              Thanks for your time..

  • Snow Leopard, Mail and Recovered message

    I just installed Snow Leopard and every time I open Mail, it "Recovers" some message 2 or 3 times, I never had this problems before, it began the next hour after installed SL.
    Any idea please,
    Thank you

    Hi Ernie,
    I run a private IMAP server I run on my home LAN - primarily for moving email between my Windows Live (Hotmail) mail folders, and Mac Mail. I use a PC to copy email from Hotmail to the IMAP server, and then the Mac to retrieve those messages (I'm also fairly new to Mac - well, the last time I used it in anger it was System 7!).
    The private IMAP server is normally reliable, but occasionally a largeish file appears to fail to transfer from Mac to IMAP folder (never from PC to IMAP folder) - it then becomes 'stuck', not appearing in either the POP3 inbox, or the destination folder.
    But - and this is the worrying part - Mail whirs away and 'recovers' the stuck email into a 'Recovered Messages' folder. A minute later it whirs some more and creates another copy of the SAME email in the same folder. A minute later and another copy is created.
    This carries on - I've left it alone, restarted Mail, restarted the Mac, but each time it creates a new copy of the stuck email. I've seen 20 copies of the same email created. If left unchecked I could imagine it filling
    I've tried moving the email out of the folder back into the POP3 inbox, into another IMAP folder, just deleting the messages and emtying the Mail trash - but each time Mail whirs away and carries on creating recovered copies of the same email.
    The only way I have found to stop this from happening is to remove the account, restart Mail and then re-add the account for the IMAP server. It then downloads all the messages again and the problem is gone.
    Is there just a way to remove the 'stuck' message, or tell Mail to ignore the recovered message so it doesn't create multiple copies?
    Cheers, Richard

  • IMAP Deleted Messages AND Unread Messages

    I've read quite a few threads about two seemingly persistent problems using Mail and IMAP servers: a) Messages deleted within Mail "reappear" in the client's in-box, and b) messages read (and marked as read -- no blue dot) "reappear" as unread messages (this latter problem occurs for me, even if moved to a folder on my IMAP account). I have to admit that I've gotten lost in the twists and turns of these discussions and I'm reluctant to start trying things that may make matters worse.
    I've tried to extract the right things to do here -- and, so far, only have checked that I am indeed saving deleted messages on the server.
    May I ask: In summary terms, are there a few standard fixes for making deleted messages go away and read messages stay that way? Thanks!!
    PB 12"   Mac OS X (10.4.7)  

    I'm using Mail 2.1 (752/752.2) talking to a Cyrus IMAP server running on the same machine. Messages are kept on the server. I have a GnuPG mail plugin. Ever since the last update of Mail I've had the problem of random "read" messages returning to the "unread" state, and not just in INBOX, but in other folders, all on the server. I've read them, did "Synchronize" and they soon show up as "unread" again. I've read them, quit Mail, restarted Mail, and they are "unread" again. Sounds like what other people are seeing.
    So I wrote a program that talks directly to the IMAP server to see what it thinks about the "read" status. Sure enough, messages that have a sitcky "unread" state do not have the IMAP "\Seen" flag set. In other words Mail is not setting this flag for some reason. (I've check this several times, before and after Mail is supposed to mark a message "read," after quiting Mail, etc., and the "\Seen" flag is never set.)
    If I use my prober program to manually set the "\Seen" flag on a message, then it stays "read." That message never again pops to the the "unread" state; however, random new messages get stuck in the "unread" state. So far the only way I have been able to mark these sticky messages as "read" is to talk directly to the IMAP server.
    I believe this strongly indicates the problem lies in Mail itself and not the IMAP server. I believe there was some regression with this new version of Mail because I've never had the problem before. To conclusively prove Mail is at fault, though, I would have to eavesdrop on the communication between Mail and IMAP.
    --Mike Zuhl

  • MDB and ADTs

    Is it possible to have a Message Driven Bean whose destination queue has an ADT payload type?
    I have an ADT defined called Schedule and I get the following error when I start a MDB:
    java.lang.InstantiationException: Error: JMS-137: Payload factory must be specified for destinations with ADT payloads
         at com.evermind.server.jms.OrionServerSessionPool.getServerSessionFull(OrionServerSessionPool.java:433)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:882)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:797)
         at java.lang.Thread.run(Thread.java:536)
    I am able to dequeue the message using the following code (not in the MDB):
    /* Dequeue the message */
    message = queue.dequeue(deqOption, SCHEDULE.getFactor());
    objPayload = message.getObjectPayload();
    SCHEDULE qsch = (SCHEDULE)(objPayload.getPayloadData());
    Cheers,
    Paul Feaviour

    Is it possible to have a Message Driven Bean whose destination queue has an ADT payload type?
    I have an ADT defined called Schedule and I get the following error when I start a MDB:
    java.lang.InstantiationException: Error: JMS-137: Payload factory must be specified for destinations with ADT payloads
         at com.evermind.server.jms.OrionServerSessionPool.getServerSessionFull(OrionServerSessionPool.java:433)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:882)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:797)
         at java.lang.Thread.run(Thread.java:536)
    I am able to dequeue the message using the following code (not in the MDB):
    /* Dequeue the message */
    message = queue.dequeue(deqOption, SCHEDULE.getFactor());
    objPayload = message.getObjectPayload();
    SCHEDULE qsch = (SCHEDULE)(objPayload.getPayloadData());
    Cheers,
    Paul Feaviour

  • Distributed Destination and Recieving Messages !

    Hi !
              I'm new to JMS.
              I'm configuring a Weblogic Cuslter of 3 nodes with a JMS Server deployed on each node (Can't target a JMS Server to a CLUSTER). We have 4 destinations (Queue) deployed on each JMS Server.
              I'm creating a Distributed Desination with members being the Queues from the three JMS Servers to take advantage of Load Balancing and High Availability nature of DD.
              No my question is, when a message is placed on the Queue (message received from MQ Server through Weblogic Bridge), which one of the three Queue is the message going to go? My guess is it's going to be sent to the Queue based on Round-Robin algorithm.
              Can you please explain me how sending/recieving messages with JMS are going to work in a Weblogic Cluster environment?. We will be using MDBs to receive messages. So, I'm assuming I'm going to need to use the JNDI for the DD in my descriptor. Also for sending, I'm assuming I should use the JNDI for the DD.
              Thanks very much for your help.

    If you'll send JMS message to your queue from your server app deployed to
              your cluster then the balancing algorithm will use server-afinity policy (if
              it is not turned off) and message will be delivered to the queue on the same
              server where you emit it.
              Denis.
              <Karun Subramanian> wrote in message news:[email protected]..
              > Hi !
              > I'm new to JMS.
              >
              > I'm configuring a Weblogic Cuslter of 3 nodes with a JMS Server deployed
              > on each node (Can't target a JMS Server to a CLUSTER). We have 4
              > destinations (Queue) deployed on each JMS Server.
              >
              > I'm creating a Distributed Desination with members being the Queues from
              > the three JMS Servers to take advantage of Load Balancing and High
              > Availability nature of DD.
              >
              >
              > No my question is, when a message is placed on the Queue (message received
              > from MQ Server through Weblogic Bridge), which one of the three Queue is
              > the message going to go? My guess is it's going to be sent to the Queue
              > based on Round-Robin algorithm.
              >
              > Can you please explain me how sending/recieving messages with JMS are
              > going to work in a Weblogic Cluster environment?. We will be using MDBs
              > to receive messages. So, I'm assuming I'm going to need to use the JNDI
              > for the DD in my descriptor. Also for sending, I'm assuming I should use
              > the JNDI for the DD.
              >
              > Thanks very much for your help.

  • Clustered WebLogic MDB receiving multiple messages...

    Hi all,
    I have a JMS WebLogic clustering problem.
    First, let me describe the problem.  The MDB of my application (it's a simple test application to get the clustering kinks worked out) is listening to a Topic and when I publish a message to the Topic the MDB is receiving the message multiple times.  I have a max of 4 managed servers in my cluster and when they are all running, each MDB on each managed server gets the message 4 times.  If I shut down two of the managed servers, then each MDB on each of the two running managed servers get the message 2 times.  So my MDB is receiving the message multiple times equal to the number of manged servers I have running in my cluster.
    So my question is what is the proper way to configure JMS Servers for a cluster?
    Next I want to explain how I start the managed servers in the cluster.  At this time I am unable to use NodeManager so starting of the instances is done manually via command line. Basically it's a wrapper around the startManagedWebLogic.sh script.  I know something is wrong with my JMS configuration because when I start the managed servers I will typically see an error which looks like this:
    <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: MyMDB is unable to connect ot the JMS destination: jms/myTopic.  The error was:
    werblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server NAME_OF_MANAGED_SERVER
    Nested excpetion: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:NAME_OF_MANAGED_SERVER'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:NAME_OF_MANAGED_SERVER'>
    Despite this error message, the MDB on that manged server does still successfully recieve messages posted to the Topic, though, as stated earlier, my problem is the MDB is getting the message more than once.
    Also, I've confirmed all managed servers in the cluster can receive the message posted to the Topic no matter which managed server posts the original message.
    Next is to explain my cluster configuration.  I'm sure I know is is wrong, but not sure where my mistake is.  Here is my JMS configuration for the cluster.
    4 JMS Servers
    Persistence Store:
    Each JMS Server has its own persistent store
    Each store targets one of the 4 (migratable) managed servers
    Each store is a FileStore
    Filesystem is not shared between VMs in the cluster
    Target:Each JMS server targets one of the 4 (migratable) managed servers
    1 JMS ModuleTarget: The cluster - "All servers in the cluster"
    1 JMS Topic
    Destination type: Uniform
    Forwarding Policy: Replicated
    Template: None
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting
    1 JMS ConnectionFactory
    Subscription Sharing Policy: Exclusive
    Client ID Policy: Restricted
    XA connection factory enabled (YES)
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting

    Hi Michael,
    I need to clarify exactly what you want to happen. What you are saying you want is not typical. I expected you to say you wanted Scenario 8 or 9. Those are the most common.
    I will try to capture what your words are saying in "graphic text". I'm not sure that the graphic in the document is accurate.
    Server 1                      Server 2                      Server 3                      Server 4
    JMS svr 1                    JMS svr 2                   JMS svr 3                    JMS svr 4
    DistTopic-mem1         DistTopic-mem2          DistTopic-mem3          DistTopic-mem4
    MDB listens locally     MDB listens locally      MDB listens locally      MDB listens locally
    Events...
    1. Message published
    on Server 1
    2. Message is replicated
    to server 2
    3. Local MDB get message
                                      4. Message is replicated
                                      to server 3
                                      5. Local MDB gets message
                                                                          6. Message is replicated
                                                                          to Server 4
                                                                          7. Local MDB gets the message
                                                                                                                8. Local MDB gets the message.
    This is the standard Replicated Distributed Topic flow. Messages are replicated, and every message is forwarded to every member of the distributed topic.
    In the case, each message will be processed 4 times - once per server.
    This is what your text says you want.
    This is scenario 1 in the doc.
    I don't really know what is going wrong with your MDB. The topics are getting created per your comment about the ability to publish a message.
    Are you seeing errors during deployment?
    To answer your question about where to set topicMessagesDistributionMode and distributedDestinationConnection, they are set in a deployment descriptor or in an annotation in the MDB. See http://docs.oracle.com/middleware/1213/wls/WLMDB/summary.htm#WLMDB1385..
    Let me know if I described what you want to happen.
    If so, a replicated distributed topic and an MDB deployed to the cluster should just work with no need to set the descriptor elements.
    Dave

Maybe you are looking for

  • Testing for more than one command line argument

    Ok im writing a client to access a given server. What i want to happen is to say that if you enter one argument at the command line do this code- if you enter more than one do something else. I cant seem think of how to do this though-ive tried testi

  • Bookmarks bar in iPad Safari

    In iMac Safari, I have a nice thin grey line of defaulted Apple, etd. links. Kinda nice, but I would prefer to use the precious real estate for other things. In iPad, the support links suggest turning it on in Settings, Safari, General, and 'Always s

  • Support for PDF

    which models of black berry phones natively support PDF or can be use to read pdf documents. Can Curve 8520 be used to read pdf documents? I has just been introduced to blackberry phones. I need some guidabce please. Thank you

  • Need 1GB RAM for Powerbook 1.67

    I am looking for a 1GB RAM. Is there any recommendation? I called the Apple store, they have it instock, but the price is $300. I tried to ask them what brand, but they had no idea. They said it's "made for Powerbook" Also found a Kingston on eBay (K

  • Adding a panel on top of another panel

    Hi all, I am using NetBeans and have created a JApplet with a JPanel inside (given the default name of panel), and I want to add another panel on top of that. I have another class, MyPanel that extends JPanel, and I have put some simple graphics in a