Whitepaper on foreign JMS providers

The white paper that I posted a little while ago on integrating WLS 7.0 with
          foreign JMS providers is now available on the "dev2dev" website. You can use
          this link:
          http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
          and click on "Using foreign JMS providers with JMS".
          And you can also use this:
          ftp://edownload:[email protected]/pub/downloads/jmsproviders.pdf
          greg
          

The white paper that I posted a little while ago on integrating WLS 7.0 with
          foreign JMS providers is now available on the "dev2dev" website. You can use
          this link:
          http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
          and click on "Using foreign JMS providers with JMS".
          And you can also use this:
          ftp://edownload:[email protected]/pub/downloads/jmsproviders.pdf
          greg
          

Similar Messages

  • Dead message queue - DLQ for foreign JMS providers

    Is there a way to configure Error-queue or 'Dead message/letter queue' in MDB listening to foreign JMS provider like JBoss? (Automatic routing of failed messages to error-queue after specified retries to preserve JMS messages)
              I did all the docs from BEA and it doesn't cover this DLQ for foreign JMS providers :). For Weblogic JMS service, DLQ can be configured in the config.xml. But for <ForeignJMSServer> there is no way to configure dead-queue.
              Could some please validate this before I start coding this piece in the application instead of appserver configuration.
              JMS provider is Tibco and JMS destinations are pre-defined and can't/doesn't need to be created
              Thanks in advance.

    Interesting idea! But no, there's no facility for redirecting failed foreign provider messages to a DLQ. This is a feature normally supplied by the foreign provider itself.
              Some foreign providers, in addition to WebLogic 9.0 JMS, provide a "redelivery count" property in the message. If the foreign provider provides no automatic DLQ capability, you might be able to leverage this property to have your MDB application code automatically forward messages with high redelivery counts to the DLQ.
              Tom

  • Using foreign JMS providers with wls

    does anybody have a clou, where i can find that article, i think it's
              by steve felts on using foreign JMS providers with wls? i think the
              link on dev2dev is broken?
              

    The new article is called "Using Foreign JMS Providers with WLS" and it's
              here:
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              greg
              "leopld goess" <[email protected]> wrote in message
              news:[email protected]..
              > does anybody have a clou, where i can find that article, i think it's
              > by steve felts on using foreign JMS providers with wls? i think the
              > link on dev2dev is broken?
              

  • Foreign JMS Providers with WebLogic Server does not close connection

              Hello All,
              We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
              WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
              context factory to bind MQ.
              We found a number of LDAP connections are getting opened by JNDIMapper, but it's
              not getting closed.
              Can some one give some clue to this ?
              Also any suggestion to serve the current purpose is welcome.
              Thanks,
              Sudarson
              

    What version are you using? "wlsmqseries.zip" does enlisting of MQ JMS
              sessions in XA transactions, but WLS 8.1 does that for you out of the box.
              If you're using 8.1, it would be better to use the new 8.1 features for
              foreign JMS providers.
              A place to start is the "Using WebLogic JMS with EJBs and Servlets" section
              of the JMS programming documentation for 8.1, and there have been many other
              posts on this newsgroup with details. (There also appear to be quite a few
              customers using this feature in their own systems, judging from the number
              of posts.)
              greg
              "sudarson" <[email protected]> wrote in message
              news:40bf05ea$1@mktnews1...
              >
              > Reposting the message. Awaiting response from newsgroup or BEA
              > Thanks,
              > Sudarson
              > "sudarson" <[email protected]> wrote:
              > >
              > >Hello All,
              > >
              > >We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for
              integrating
              > >WebLogic Server with MQ so that we can incorporate XA transactions. We
              > >use LDAP
              > >context factory to bind MQ.
              > >
              > >We found a number of LDAP connections are getting opened by JNDIMapper,
              > >but it's
              > >not getting closed.
              > >
              > >Can some one give some clue to this ?
              > >
              > >Also any suggestion to serve the current purpose is welcome.
              > >
              > >Thanks,
              > >Sudarson
              >
              

  • JNDIMapper Problem (Foreign JMS Providers with WebLogic Server does not close connection )

              Hello All,
              We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
              WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
              context factory to bind MQ.
              We found a number of LDAP connections are getting opened by JNDIMapper, but it's
              not getting closed.
              Can some one give some clue to this ?
              Also any suggestion to serve the current purpose is welcome.
              Thanks, Sudarson
              

              Hello All,
              We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
              WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
              context factory to bind MQ.
              We found a number of LDAP connections are getting opened by JNDIMapper, but it's
              not getting closed.
              Can some one give some clue to this ?
              Also any suggestion to serve the current purpose is welcome.
              Thanks, Sudarson
              

  • Foreign JMS QCF and Weblogic Sever Session Pool

              Hi!
              We have Weblogic 6.1 SP2 installation.
              We are trying to use JMS Server session pool and connection consumer configuration
              with MQSeries QCF registered to weblogic JNDI via startup class.
              Upon server startup weblogic is throwing ClassCast exception for QueueConnection.
              It seems weblogic is expecting QueueConnection implementation by weblogic.
              Any suggestions or alternative way of doing it.
              Thanks
              Jay PArikh
              

    Hi Jay,
              Server session pools do not support foreign providers.
              The preferred way to integrate foreign providers is via MDBs or
              via the Messaging Bridge (bridge available in SP3). For a
              comprehensive write-up on integrating foreign providers with
              WL see the whitepaper "Using Foreign JMS Providers with
              WebLogic Server" on dev2dev.bea.com.
              Tom
              Jay Parikh wrote:
              > Hi!
              >
              > We have Weblogic 6.1 SP2 installation.
              >
              > We are trying to use JMS Server session pool and connection consumer configuration
              > with MQSeries QCF registered to weblogic JNDI via startup class.
              >
              > Upon server startup weblogic is throwing ClassCast exception for QueueConnection.
              > It seems weblogic is expecting QueueConnection implementation by weblogic.
              >
              > Any suggestions or alternative way of doing it.
              >
              > Thanks
              > Jay PArikh
              

  • Foreign jms queue binding problem

              Hi,
              I am on the way to wls7.0 from wls5.1, but I got a probelm when I tried to rebind
              the jms queue to weblogic jndi.
              [javax.naming.ConfigurationException [Root exception is java.rmi.MarshalException:
              failed to marshal rebind(Ljava.lang.String;Ljava.lang.Object;Ljava.util.Hasht
              able;); nested exception is: java.io.NotSerializableException]]
              Can I bind the queue to wls jndi? Anybody has silimar situation?
              Thanks
              

    Hi Jen,
              As TOM said, in your case weblogic interaoperabilty supports only from
              weblogic 5.1 to 6.1, that to specified service packs. you can go through the
              following url
              http://e-docs.bea.com/wls/docs61/interop/interop.html
              So you better go by using message bridges for foreign jms providers. The
              document has how you can configure about JNDI provider either File based Or
              Ldap based.
              Thanks
              Kumar
              "Je" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Thanks, actually I am trying to rebind the jms queue from Fiorano
              > MQ. It works fine in wls5.1. Is there special requirement for jndi for
              wls7.1,
              > does the object needs to be serilizable to be bind into jndi?
              >
              > Tom Barnes <[email protected]> wrote:
              > >
              > >It seems you are trying to access 5.1 JMS from 7.0. WebLogic did not
              > >
              > >support interoperability between versions until 6.1. The classes are
              > >
              > >not compatible. So interop requires a good bit of class-loader magic.
              > >
              > > The only way to interop between JMS 5.1 and 7.0 is to use the
              > >messaging bridge (which does the magic for you).
              > >
              > >FYI: I think that it may be possible to invoke remote 5.1 methods from
              > >
              > >7.0 using the IIOP protocol.
              > >
              > >Tom
              > >
              > >Jen wrote:
              > >> Hi,
              > >> I am on the way to wls7.0 from wls5.1, but I got a probelm when I tried
              > >to rebind
              > >> the jms queue to weblogic jndi.
              > >>
              > >> [javax.naming.ConfigurationException [Root exception is
              java.rmi.MarshalException:
              > >> failed to marshal
              rebind(Ljava.lang.String;Ljava.lang.Object;Ljava.util.Hasht
              > >> able;); nested exception is: java.io.NotSerializableException]]
              > >>
              > >> Can I bind the queue to wls jndi? Anybody has silimar situation?
              > >> Thanks
              > >
              >
              

  • MDB with foreign JMS : WLS 9.23

    For the love of _____ (fill in your own muse of desperation here), is there some categorical statement of whether WLS9.23 actually ***works*** with MDB's and foreign JMS providers? Whereever I search/find, people have trouble with this.
              Some kind BEA sould - please. Please, please please : publish a canonical example of MDB with secured foreign-JNDI provided connx factory, and either a queue or a topic.
              I'm beginning to wonder if this works at all.

    Good morning!
              Categorical Statement: WLS supports JMS spec compliant foreign providers for MDBs, bridges, resource-references, foreign providers. We also support sending a foreign providers message using a WebLogic JMS client.
              For general Tibco integration questions, I recall that the Tibco docs themselves contain WebLogic integration examples. There's also some much mention of Tibco in the out-dated "Using Foreign JMS Providers with WebLogic Server" white-paper on dev2dev.
              That said, there have been definitely been problems with Tibco and MQ's latest release, as they both recently released semi-non-JMS compliant clients that our wrapper code was unprepared to deal with. In short, we were caught unawares when these clients stopped supporting the 1.0.2 APIs even though 1.1 specification clearly requires both 1.1 and 1.0.2 support. Rather than ask Tibco and MQ teams to have them patch their code (an approach we've sometimes taken over the years), we chose this time to enhance our code.
              I think the problems were all fixed by 9.23 - but you may want to contact customer support to see if there are any additional patches required. Alternatively, you can try use a slightly older Tibco client, as presumably their older clients are still able to interoperate with their latest server version (this approach works with MQ).
              Tom

  • Access Foreign JMS w/o foreign JNDI

              Hi,
              I am looking for a way to put JNDI entries into the local JNDI tree for a remote
              JMS server's connection factory and topic. The problem is that the remote JMS
              server does NOT provide a JNDI tree to access --- The only way to us the JMS server
              is to specify the host/port in the TopicConnectionFactory constructor. So is
              there a way to configure the local JNDI tree to be able to access this remote
              JMS server?
              Thanks in advance.
              

    Hi,
              You can usually wrap a proprietary connection factory
              constructors in your own object, and put the wrapped
              object into JNDI instead.
              See the "Using Foreign JMS Providers With WLS"
              white-paper for information on doing this in
              a Startup class. If you post which vendor
              you are using (use a new post) you might be
              able to find a fellow user that has already
              done this for your particular JMS vendor.
              http://dev2dev.bea.com/technologies/jms/index.jsp
              Tom
              Andrew Lawrence wrote:
              > Hi,
              >
              > I am looking for a way to put JNDI entries into the local JNDI tree for a remote
              > JMS server's connection factory and topic. The problem is that the remote JMS
              > server does NOT provide a JNDI tree to access --- The only way to us the JMS server
              > is to specify the host/port in the TopicConnectionFactory constructor. So is
              > there a way to configure the local JNDI tree to be able to access this remote
              > JMS server?
              >
              > Thanks in advance.
              

  • Foreign JMS vs. Remote MDB

    Hi,
              I have a JMS scenario that I'm hoping to get some input on. The system architecture is as follows:
              One WebLogic 8.1 SP5 domain with a JMS server
              One WebLogic 9.2 MP1 domain with no JMS server
              We'd like to consume a JMS message that's sitting on a queue in the 8.1 domain by code running on the 9.2 domain.
              Without configuring a JMS server in the 9.2 domain (which we'd like to avoid), the two obvious options are:
              1. An MDB running on the 9.2 server that connects to a queue on the 8.1 server
              2. An MDB running on the 9.2 server that connects to a foreign JMS server locally which in turn is linked to the 8.1's JMS server
              Does anyone have any suggestions, experience from this or a similar scenario?
              The main areas that I'd be interested in are:
              - Inter domain compatability
              - Any problems with Transactions, XA
              Many thanks,
              Eoin

    Hi,
              I think your approach is fine - inter-version compatibility is supported for both JMS and XA. You'll need to ensure that all 9.1 and 8.1 WL domain names are unique, ditto for all 8.1 WL server names, 8.1 WL store names, plus 8.1 JMS server names (even across different domains).
              "1" and "2" are essentially the same in that "Foreign JMS" is simply a mapping from the local JNDI naming service to a remote JMS service . "2" tends to be preferable as it can simplify administration once configured. For more information, see the "Integrating Remote JMS Providers" FAQ linked off of this page: "http://edocs.bea.com/wls/docs92/messaging.html".
              FYI There are advantages in using 9.x and later JMS - not only does it have a broader set of features, but it also has more sophisticated message management (use the console to pause/resume dests, view individual messages, etc), and significantly higher performance. Also, 9.x MDBs do a better job of connecting to remote 9.x distributed destinations than 8.1 MDBs - as they automatically ensure that all component destinations get serviced.
              Tom

  • Foreign JMS not enlisting XA Transactions

    I'm working on implementing an XA interface layer to an implementation of a foreign JMS provider and am having a problem with enlisting XA transactions in WebLogic.
    I implemented a simple JNDI that stores and retrieves serialized versions of classes in the local filesystem.
    I create an XATopicConnectionFactory named ambxatcf and a Topic named ChatterTopic and store them in there.
    The XATopicConnection implements XAConnection.
    I put a client jar in bea/weblogic91/samples/domains/wl_server/lib/ which contains the JNDI code and all of my XA classes which call the JMS.
    That gets picked up by the server on startup.
    In the Web Logic Admin Console:
    I create a Foreign Server under JMS Modules, ambrosiaServer.
    I set the JNDI Initial Context Factory set to my JNDI InitialContext class and the JNDI Properties is the path to my JNDI filestore so that it can find the serialized objects.
    I create a Foreign Destination in this server which has a Local JNDI Name: Chatter and Remote JNDI Name: ChatterTopic
    And then also in this server, I create a Foreign Connection Factory, Local JNDI Name: ambxatcf and Remote JNDI Name: XATopicConnectionFactory.
    Then in Deployments, I Install the jar containing my bean and Start it.
    Then I run the client and the bean prints out the XATopicConnectionFactory and it's the one that came out my JNDI.
    I have messages in my XATopicConnectionFactory, XATopicConnection and XATopicSession code so I know they're getting called.
    What's not getting called is XATopicSession.getXAResource() or my XAResourceImpl.start() or XAResourceImpl.commit().
    This happens whether I have the bean set up for bean managed or container managed transactions.
    I'm testing against WebLogic 9.1.
    Thanks,
    Don Hermes

    Hi Tom,
              Thank you for your response.
              I saw the article in the 8.1 documentation but I also found the following in the 9.1 docs.
              So, I assumed it would work.
              Was that assumption wrong?
              Thanks,
              Don
              =====================
              http://e-docs.bea.com/wls/docs91/jms/j2ee.html
              Automatically Enlisting Transactions
              This feature works for either WebLogic JMS implementations or for third-party JMS providers that support two-phase commit transactions (XA protocol). If a wrapped JMS connection sends or receives a message inside a transaction context, the JMS session being used to send or receive the message is automatically enlisted in the transaction through the XA capabilities of the JMS provider. This is the case whether the transaction was started implicitly because the JMS code was invoked inside an EJB with container-managed transactions enabled, or whether the transaction was started manually using the UserTransaction interface in a servlet or an EJB that supports bean-managed transactions.

  • Foreign JMS and Enlisting Transactions?

    I'm working on implementing an XA interface layer to an implementation of a foreign JMS provider and am having a problem with enlisting XA transactions in WebLogic.
              I implemented a simple JNDI that stores and retrieves serialized versions of classes in the local filesystem.
              I create an XATopicConnectionFactory named ambxatcf and a Topic named ChatterTopic and store them in there.
              The XATopicConnection implements XAConnection.
              I put a client jar in bea/weblogic91/samples/domains/wl_server/lib/ which contains the JNDI code and all of my XA classes which call the JMS.
              That gets picked up by the server on startup.
              In the Web Logic Admin Console:
              I create a Foreign Server under JMS Modules, ambrosiaServer.
              I set the JNDI Initial Context Factory set to my JNDI InitialContext class and the JNDI Properties is the path to my JNDI filestore so that it can find the serialized objects.
              I create a Foreign Destination in this server which has a Local JNDI Name: Chatter and Remote JNDI Name: ChatterTopic
              And then also in this server, I create a Foreign Connection Factory, Local JNDI Name: ambxatcf and Remote JNDI Name: XATopicConnectionFactory.
              Then in Deployments, I Install the jar containing my bean and Start it.
              Then I run the client and the bean prints out the XATopicConnectionFactory and it's the one that came out my JNDI.
              I have messages in my XATopicConnectionFactory, XATopicConnection and XATopicSession code so I know they're getting called.
              What's not getting called is XATopicSession.getXAResource() or my XAResourceImpl.start() or XAResourceImpl.commit().
              This happens whether I have the bean set up for bean managed or container managed transactions.
              I'm testing against WebLogic 9.1.
              Thanks,
              Don Hermes

    Hi Tom,
              Thank you for your response.
              I saw the article in the 8.1 documentation but I also found the following in the 9.1 docs.
              So, I assumed it would work.
              Was that assumption wrong?
              Thanks,
              Don
              =====================
              http://e-docs.bea.com/wls/docs91/jms/j2ee.html
              Automatically Enlisting Transactions
              This feature works for either WebLogic JMS implementations or for third-party JMS providers that support two-phase commit transactions (XA protocol). If a wrapped JMS connection sends or receives a message inside a transaction context, the JMS session being used to send or receive the message is automatically enlisted in the transaction through the XA capabilities of the JMS provider. This is the case whether the transaction was started implicitly because the JMS code was invoked inside an EJB with container-managed transactions enabled, or whether the transaction was started manually using the UserTransaction interface in a servlet or an EJB that supports bean-managed transactions.

  • Problem connecting weblogic OSB with IBM websphere via foreign JMS

    Hi All,
    I am trying to setup Foreign JMS. My configuration doesn’t work.
    Could you please let me know if I am missing anything .
    All my configuration details are done as specified in this link http://www.oracle.com/technology/products/integration/service-bus/docs/osb-websphere-whitepaper.pdf
    Here is what I did.
    In OSB sbconsole
    OSB business Service ENDPoint URL jms://webspherehost:9082/sampleQueuemanager/sampleQueue
    In websphere
    Created a queue connection factory and a queue from the webspehere administrator console.
    Modified JSMAdmin.config to enable the following…/Java/bin/JMSAdmin.config.
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    PROVIDER_URL=file:/C:/JNDI-Directory
    Ran JSMAdmin.bat to bind the JNDI
    def qcf(sampleQueuemanager) qmanager(QMGR) HOSTNAME(webspherehost) PORT(1327) TRANSPORT(CLIENT)
    def Q(sampleQueue) queue(sampleQueue) qmanager(QMGR) PERSISTENCE(PERS)
    InitCtx> dis ctx
    JMSADM4089 InitCtx
    .bindings java.io.File
    bck_.bindings java.io.File
    a sampleQueuemanager com.ibm.mq.jms.MQQueueConnectionFactory
    a sampleQueue com.ibm.mq.jms.MQQueue
    4 Object(s)
    0 Context(s)
    4 Binding(s), 2 Administered
    In weblogic admin console
    Created foreign JMS, destination and connection factory as mentioned in the following link.
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ConsoleHelp/taskhelp/jms_modules/foreign_servers/CreateForeignConnectionFactories.html
    When I execute business service from OSB sbconsole, this is what I get.
    +The invocation resulted in an error: [JMSPool:169803]JNDI lookup of the JMS connection factory sampleQueuemanager failed: javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: HTTP/1.1 400 Bad Request]].+
    Thanks
    siva

    Little confusing. Are we not supposed to use osb host name and port along with foreign connection factory created in weblogic for OSB BS?.
    You said: jms://webspherehost:9082/sampleQueuemanager/sampleQueue
    We have to jms://osbhost:port/ForeignQueueManagerInWeblogic/ForeignQueueInWeblogic
    Manoj

  • Integrating JMS providers with JBoss

    Hi.
    I am trying to integrate a foreign JMS provider to JBoss. I looked at the docs and all - and even managed to deploy an mbean that puts the factories and queues into the jndi - after which anyone who does a lookup() on it is capable of using the foreign provider.
    However, trying to put an MDB - it doesn't work anymore. the MDB does not register itself on the destination it's supposed to - and therefore never receives the messages. The documentation is not very clear about how to do all that - does anyone have any experience with that?
    Thanks, Nimo.

    Hi Nimo,
    Many of the most popular JMS providers (such as ArjunaMS, SonicMQ and FioranoMQ) provide various integration facilities with JBoss. I just did a Google site search and found information on all of the above how to integrate those providers with JBoss:
    ArjunaMS Google search was:
    site:www.arjuna.com jboss
    Best hit:
    http://www.arjuna.com/products/jboss/
    SonicMQ Google search was:
    site:www.sonicsoftware.com jboss
    Best hit:
    http://www.sonicsoftware.com/cgi-bin/sonic.cgi/dx_results.w?subcategory=23
    FioranoMQ Google search was:
    site:www.fiorano.com jboss
    Best hit:
    http://www.fiorano.com/downloads/fmq/FMQFaqs.pdf (pg 73 provides refers to JBoss integration information in a "Developer's Guide" - I guess this must be in a download of the product?)
    Hope this helps you!
    Cheers,
    Tom Jenkinson
    Arjuna Technologies Limited

  • Foreign JMS and XA

    Hi everybody,
              Is anybody successfully using remote IBM MQseries 5.3 server as
              Foreign JMS in WLS 8.1sp2?
              We're observing some strange behavior in this case. Here is our setup:
              WLS and IBM MQ server deployed on separate boxes.
              WLS version 8.1sp2 running on Windows 2000/Intel
              IBM MQ version 5.3 running on Solaris/SPARC
              We're using "WebSphere MQ classes for Java, version 5.303 - j5303-L030225"
              and "WebSphere MQ Extended Transactional Client Feature, version 5.300 -
              j5303-L030122"
              MQ files added in WLS POST_CLASSPATH variable in WLS starup script.
              Foreign JMS server configured in WLS via fscontext JNDI.
              MDB bean deployed with Transaction attribute "Required".
              Everything seems to work fine, if we're posting message to MQ queue MDB
              receives it and process successfully (just print message content to the
              console for now).
              Problem: In WLS console, under Server->Monitoring->JTA->Monitor inflight
              transactions we can constantly see one transaction enlisted for our MDB
              bean with following details:
              =====================================================
              Transaction ID: BEA1-00DFC5EB4B7B7F28EDB9
              Coordinator: mydomain+myserver
              Name: JMSMessagePoller.xxx.xxx.MyMessageProcessorMdb
              Status: Active
              Seconds Active: 17
              Resources:
              weblogic.ejb20.JMSConnectionPoller.xxx.xxx.MyMessageProcessorMdb=started
              Properties
              (key=value):
              weblogic.transaction.name=JMSMessagePoller.xxx.xxx.MyMessageProcessorMdb
              =====================================================
              This transaction seems to be Active for 30 seconds and then rolled back
              (no error messages on WLS console displayed).On JTA statistics page in
              WLS console "Total Rolled Back" counter keeps increneting with every
              rollback.
              Does anybody observerd similar problem? May be it's normal behaviour but
              I'm kind of worrying about those transactions and constant rollback. I'd
              appreciate any feedback.
              Sincerely,
              Dmitri Maximovich
              

    Hi Dmitri,
              The shutdown "suspend" failure has nothing to do with transactions
              or JMS. It looks like the failure is due to a
              java.util.ConcurrentModificationException during undeployment
              which indicates a bug in WL - something is not getting
              synchronized that should be.
              As for MQ, their new extended client supports remote XA, which I think
              is the reason for the product in the first place. Even so, I
              still recommend testing to make sure that its messages
              participate in transactions. (Actually, I recommend such testing
              for any transactional app, including those built on WL JMS.)
              Tom
              Dmitri Maximovich wrote:
              > Hi Tom,
              >
              > Thanks for info, that's a relief. Unfortunately there is no hints in WLS
              > documentation that it's normal, that's why we were worried about it.
              >
              > Now there is one more issue, which I believe is related. You see with
              > those 'in-flight' transactions graceful shutdown of WLS doesn't quite
              > work. There is suspicious exception thrown and after that WLS is still
              > running in some state but console is not available anymore. Please see
              > console messages attached (sorry for long post). at the time of shutdown
              > there is no messages in the queue(s) so as far as I can tell those
              > 'pending transactions' mentioned is those from foreign JMS wrappers.
              >
              > I'd appreciate any comments on that. We have case opened with BEA about
              > this but so far they cannot reproduce it in their lab. That's why I
              > start wondering if we're doing something wrong here, like using remote
              > MQ server for example, may be you not supposed to (I remember there was
              > an issue before with IBM MQ that XA support required binding mode, I was
              > kind of hope that it's not the case anymore)?
              >
              > <Mar 3, 2004 1:47:56 PM EST> <Notice> <WebLogicServer> <BEA-000365>
              > <Server state changed to SUSPENDING>
              > <Mar 3, 2004 1:47:56 PM EST> <Info> <Deployer> <BEA-149236> <Preparing
              > to suspend.>
              > <Mar 3, 2004 1:47:56 PM EST> <Info> <Deployer> <BEA-149237> <Ready to
              > suspend.>
              > <Mar 3, 2004 1:47:56 PM EST> <Info> <WebService> <BEA-220028> <Web
              > Service reliable agents are suspended.>
              > <Mar 3, 2004 1:47:56 PM EST> <Notice> <JTA> <BEA-110476> <The server has
              > detected pending transactions during graceful shutdown. The server will
              > wait for the pending transactions to complete before suspending the RMI
              > service. A force shutdown command can be issued to shutdown the server
              > immediately.>
              > <Mar 3, 2004 1:48:26 PM EST> <Info> <Management> <BEA-141080> <A request
              > has been received to force shut down of the server.>
              > <Mar 3, 2004 1:48:26 PM EST> <Alert> <WebLogicServer> <BEA-000228> <The
              > disabling of server logins has been requested by <WLS Kernel>>
              > <Mar 3, 2004 1:48:26 PM EST> <Alert> <WebLogicServer> <BEA-000229>
              > <Server logins have been disabled.>
              > <Mar 3, 2004 1:48:26 PM EST> <Info> <WebService> <BEA-220028> <Web
              > Service reliable agents are suspended.>
              > <Mar 3, 2004 1:48:26 PM EST> <Info> <EJB> <BEA-010084> <The
              > message-driven beans are being suspended. This may take a minute or two.>
              > <Mar 3, 2004 1:48:32 PM EST> <Info> <EJB> <BEA-010085> <The
              > message-driven beans have all been suspended.>
              > <Mar 3, 2004 1:48:32 PM EST> <Info> <EJB> <BEA-010084> <The
              > message-driven beans are being suspended. This may take a minute or two.>
              > <Mar 3, 2004 1:48:32 PM EST> <Info> <EJB> <BEA-010085> <The
              > message-driven beans have all been suspended.>
              > [MessageDrivenBeanPoolInfoImpl] : Couldn't unregister MBean
              > javax.management.InstanceNotFoundException:
              > mydomain:ApplicationRuntime=myserver_otis-dasl-ejb,EJBComponentRuntime=myserver_otis-dasl-ejb_otis-dasl-ejb.jar,Location=myserver,Name=myserver_otis-dasl-ejb_otis-dasl-ejb.jar_com.cibcwm.go.otis.dasl.submission.DASLSubmissionMdb_wls.mqs.dasl.dev.adp.reply3,ServerRuntime=myserver,Type=EJBTransactionRuntime
              >
              > at
              > com.sun.management.jmx.MBeanServerImpl.getMBean(MBeanServerImpl.java:1680)
              > at
              > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1524)
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:947)
              >
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:908)
              >
              > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
              > at
              > weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
              >
              > at
              > weblogic.management.runtime.EJBTransactionRuntimeMBean_Stub.preDeregister(EJBTransactionRuntimeMBean_Stub.java:433)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl.internalDeleteMBean(MBeanHomeImpl.java:996)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl.privateDeleteMBean(MBeanHomeImpl.java:982)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl.access$000(MBeanHomeImpl.java:74)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl$2.run(MBeanHomeImpl.java:948)
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at
              > weblogic.management.internal.MBeanHomeImpl.deleteMBeanWithKernelID(MBeanHomeImpl.java:944)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl.deleteMBean(MBeanHomeImpl.java:939)
              >
              > at
              > weblogic.management.internal.MBeanHomeImpl.deleteMBean(MBeanHomeImpl.java:933)
              >
              > at
              > weblogic.management.runtime.RuntimeMBeanDelegate.unregister(RuntimeMBeanDelegate.java:140)
              >
              > at
              > weblogic.ejb20.monitoring.EJBRuntimeMBeanImpl.unregisterDependents(EJBRuntimeMBeanImpl.java:58)
              >
              > at
              > weblogic.ejb20.monitoring.MessageDrivenEJBRuntimeMBeanImpl.unregisterDependents(MessageDrivenEJBRuntimeMBeanImpl.java:50)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.unInitPool(MessageDrivenBeanPoolInfoImpl.java:208)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.onUndeploy(MessageDrivenBeanPoolInfoImpl.java:121)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.onUndeploy(MessageDrivenBeanInfoImpl.java:628)
              >
              > at weblogic.ejb20.internal.BaseEJBHome.undeploy(BaseEJBHome.java:203)
              > at
              > weblogic.ejb20.internal.MessageDrivenEJBHome.undeploy(MessageDrivenEJBHome.java:260)
              >
              > at
              > weblogic.ejb20.deployer.EJBDeployer.deactivate(EJBDeployer.java:1802)
              > at weblogic.ejb20.deployer.EJBModule.doDeactivate(EJBModule.java:865)
              > at weblogic.ejb20.deployer.EJBModule.deactivate(EJBModule.java:712)
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivateModule(J2EEApplicationContainer.java:3161)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2186)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2131)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.stop(J2EEApplicationContainer.java:1915)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainerFactory.removeDeployedApplications(J2EEApplicationContainerFactory.java:761)
              >
              > at
              > weblogic.j2ee.J2EEApplicationService.shutdown(J2EEApplicationService.java:115)
              >
              > at
              > weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.shutdownHelper(DeploymentManagerServerLifeCycleImpl.java:257)
              >
              > at
              > weblogic.application.ApplicationService.prepareToSuspend(ApplicationService.java:46)
              >
              > at
              > weblogic.t3.srvr.SubsystemManager.prepareToSuspend(SubsystemManager.java:168)
              >
              > at weblogic.t3.srvr.T3Srvr.prepareToSuspend(T3Srvr.java:1085)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.prepareToSuspend(ServerLifeCycleWorkerThread.java:51)
              >
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread$1.run(ServerLifeCycleWorkerThread.java:35)
              >
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.run(ServerLifeCycleWorkerThread.java:32)
              >
              > --------------- nested within: ------------------
              > weblogic.management.ManagementException: An error has occurred during
              > preDeregister().
              > nullmydomain:ApplicationRuntime=myserver_otis-dasl-ejb,EJBComponentRuntime=myserver_otis-dasl-ejb_otis-dasl-ejb.jar,Location=myserver,Name=myserver_otis-dasl-ejb_otis-dasl-ejb.jar_com.cibcwm.go.otis.dasl.submission.DASLSubmissionMdb_wls.mqs.dasl.dev.adp.reply3,ServerRuntime=myserver,Type=EJBTransactionRuntime
              > - with nested exception:
              > [javax.management.InstanceNotFoundException:
              > mydomain:ApplicationRuntime=myserver_otis-dasl-ejb,EJBComponentRuntime=myserver_otis-dasl-ejb_otis-dasl-ejb.jar,Location=myserver,Name=myserver_otis-dasl-ejb_otis-dasl-ejb.jar_com.cibcwm.go.otis.dasl.submission.DASLSubmissionMdb_wls.mqs.dasl.dev.adp.reply3,ServerRuntime=myserver,Type=EJBTransactionRuntime]
              >
              > at
              > weblogic.management.runtime.RuntimeMBeanDelegate.unregister(RuntimeMBeanDelegate.java:148)
              >
              > at
              > weblogic.ejb20.monitoring.EJBRuntimeMBeanImpl.unregisterDependents(EJBRuntimeMBeanImpl.java:58)
              >
              > at
              > weblogic.ejb20.monitoring.MessageDrivenEJBRuntimeMBeanImpl.unregisterDependents(MessageDrivenEJBRuntimeMBeanImpl.java:50)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.unInitPool(MessageDrivenBeanPoolInfoImpl.java:208)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.onUndeploy(MessageDrivenBeanPoolInfoImpl.java:121)
              >
              > at
              > weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.onUndeploy(MessageDrivenBeanInfoImpl.java:628)
              >
              > at weblogic.ejb20.internal.BaseEJBHome.undeploy(BaseEJBHome.java:203)
              > at
              > weblogic.ejb20.internal.MessageDrivenEJBHome.undeploy(MessageDrivenEJBHome.java:260)
              >
              > at
              > weblogic.ejb20.deployer.EJBDeployer.deactivate(EJBDeployer.java:1802)
              > at weblogic.ejb20.deployer.EJBModule.doDeactivate(EJBModule.java:865)
              > at weblogic.ejb20.deployer.EJBModule.deactivate(EJBModule.java:712)
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivateModule(J2EEApplicationContainer.java:3161)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2186)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2131)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.stop(J2EEApplicationContainer.java:1915)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainerFactory.removeDeployedApplications(J2EEApplicationContainerFactory.java:761)
              >
              > at
              > weblogic.j2ee.J2EEApplicationService.shutdown(J2EEApplicationService.java:115)
              >
              > at
              > weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.shutdownHelper(DeploymentManagerServerLifeCycleImpl.java:257)
              >
              > at
              > weblogic.application.ApplicationService.prepareToSuspend(ApplicationService.java:46)
              >
              > at
              > weblogic.t3.srvr.SubsystemManager.prepareToSuspend(SubsystemManager.java:168)
              >
              > at weblogic.t3.srvr.T3Srvr.prepareToSuspend(T3Srvr.java:1085)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.prepareToSuspend(ServerLifeCycleWorkerThread.java:51)
              >
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread$1.run(ServerLifeCycleWorkerThread.java:35)
              >
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.run(ServerLifeCycleWorkerThread.java:32)
              >
              > <Mar 3, 2004 1:48:33 PM EST> <Info> <Management> <BEA-141082>
              > <ServerRuntime:java.util.ConcurrentModificationException>
              > <Mar 3, 2004 1:48:33 PM EST> <Info> <Management> <BEA-141082>
              > <ServerRuntime:java.util.ConcurrentModificationException
              > at
              > java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:552)
              > at java.util.LinkedList$ListItr.next(LinkedList.java:488)
              > at
              > weblogic.ejb20.deployer.EJBDeployer.deactivate(EJBDeployer.java:1801)
              > at weblogic.ejb20.deployer.EJBModule.doDeactivate(EJBModule.java:865)
              > at weblogic.ejb20.deployer.EJBModule.deactivate(EJBModule.java:712)
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivateModule(J2EEApplicationContainer.java:3161)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2186)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.deactivate(J2EEApplicationContainer.java:2131)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainer.stop(J2EEApplicationContainer.java:1915)
              >
              > at
              > weblogic.j2ee.J2EEApplicationContainerFactory.removeDeployedApplications(J2EEApplicationContainerFactory.java:761)
              >
              > at
              > weblogic.j2ee.J2EEApplicationService.shutdown(J2EEApplicationService.java:115)
              >
              > at
              > weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.shutdownHelper(DeploymentManagerServerLifeCycleImpl.java:257)
              >
              > at
              > weblogic.application.ApplicationService.prepareToSuspend(ApplicationService.java:46)
              >
              > at
              > weblogic.t3.srvr.SubsystemManager.prepareToSuspend(SubsystemManager.java:168)
              >
              > at weblogic.t3.srvr.T3Srvr.prepareToSuspend(T3Srvr.java:1085)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.prepareToSuspend(ServerLifeCycleWorkerThread.java:51)
              >
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread$1.run(ServerLifeCycleWorkerThread.java:35)
              >
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at
              > weblogic.t3.srvr.ServerLifeCycleWorkerThread.run(ServerLifeCycleWorkerThread.java:32)
              >
              > >
              > <Mar 3, 2004 1:48:35 PM EST> <Critical> <WebLogicServer> <BEA-000217>
              > <Failed to fully suspend the server due to:
              > java.util.ConcurrentModificationException
              > java.util.ConcurrentModificationException
              > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:782)
              > at java.util.HashMap$KeyIterator.next(HashMap.java:818)
              > at
              > weblogic.j2ee.J2EEApplicationContainerFactory.removeDeployedApplications(J2EEApplicationContainerFactory.java:751)
              >
              > at
              > weblogic.j2ee.J2EEApplicationService.shutdown(J2EEApplicationService.java:115)
              >
              > at
              > weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.shutdownHelper(DeploymentManagerServerLifeCycleImpl.java:257)
              >
              > at
              > weblogic.application.ApplicationService.forceSuspend(ApplicationService.java:82)
              >
              > at
              > weblogic.t3.srvr.SubsystemManager.forceSuspend(SubsystemManager.java:184)
              > at weblogic.t3.srvr.T3Srvr.forceSuspend(T3Srvr.java:1097)
              > at
              > weblogic.t3.srvr.ServerRuntime.uprotectedForceShutdown(ServerRuntime.java:629)
              >
              > at weblogic.t3.srvr.ServerRuntime.access$300(ServerRuntime.java:83)
              > at weblogic.t3.srvr.ServerRuntime$4.run(ServerRuntime.java:563)
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at weblogic.t3.srvr.ServerRuntime.forceShutdown(ServerRuntime.java:559)
              > at weblogic.t3.srvr.ServerRuntime.shutdown(ServerRuntime.java:547)
              > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              > at
              > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              >
              > at
              > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              >
              > at java.lang.reflect.Method.invoke(Method.java:324)
              > at
              > weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:711)
              >
              > at
              > weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:690)
              >
              > at
              > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
              > at
              > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:947)
              >
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:908)
              >
              > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
              > at
              > weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
              >
              > at
              > weblogic.management.runtime.ServerRuntimeMBean_Stub.shutdown(ServerRuntimeMBean_Stub.java:1184)
              >
              > at
              > weblogic.server.ServerLifeCycleRuntime$ShutdownRequest.execute(ServerLifeCycleRuntime.java:585)
              >
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > >
              > <Mar 3, 2004 1:48:35 PM EST> <Debug> <Management> <BEA-141132> <Dynamic
              > invocation while executing action shutdown on
              > mydomain:Location=myserver,Name=myserver,Type=ServerRuntime MBean
              > instance failed. The method shutdown with signature [int, boolean] was
              > invoked with parameters as [30, true].
              > java.util.ConcurrentModificationException
              > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:782)
              > at java.util.HashMap$KeyIterator.next(HashMap.java:818)
              > at
              > weblogic.j2ee.J2EEApplicationContainerFactory.removeDeployedApplications(J2EEApplicationContainerFactory.java:751)
              >
              > at
              > weblogic.j2ee.J2EEApplicationService.shutdown(J2EEApplicationService.java:115)
              >
              > at
              > weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.shutdownHelper(DeploymentManagerServerLifeCycleImpl.java:257)
              >
              > at
              > weblogic.application.ApplicationService.forceSuspend(ApplicationService.java:82)
              >
              > at
              > weblogic.t3.srvr.SubsystemManager.forceSuspend(SubsystemManager.java:184)
              > at weblogic.t3.srvr.T3Srvr.forceSuspend(T3Srvr.java:1097)
              > at
              > weblogic.t3.srvr.ServerRuntime.uprotectedForceShutdown(ServerRuntime.java:629)
              >
              > at weblogic.t3.srvr.ServerRuntime.access$300(ServerRuntime.java:83)
              > at weblogic.t3.srvr.ServerRuntime$4.run(ServerRuntime.java:563)
              > at
              > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >
              > at
              > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              > at weblogic.t3.srvr.ServerRuntime.forceShutdown(ServerRuntime.java:559)
              > at weblogic.t3.srvr.ServerRuntime.shutdown(ServerRuntime.java:547)
              > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              > at
              > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              >
              > at
              > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              >
              > at java.lang.reflect.Method.invoke(Method.java:324)
              > at
              > weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:711)
              >
              > at
              > weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:690)
              >
              > at
              > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
              > at
              > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:947)
              >
              > at
              > weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:908)
              >
              > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
              > at
              > weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
              >
              > at
              > weblogic.management.runtime.ServerRuntimeMBean_Stub.shutdown(ServerRuntimeMBean_Stub.java:1184)
              >
              > at
              > weblogic.server.ServerLifeCycleRuntime$ShutdownRequest.execute(ServerLifeCycleRuntime.java:585)
              >
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > >
              >
              > Tom Barnes wrote:
              >
              >> Hi Dmitri,
              >>
              >> This is normal behavior.
              >> The internal rollbacks are a side effect of WL MDBs
              >> necessarily starting a transaction before they (internally)
              >> post a synchronous
              >> receive on the remote foreign JMS server. If the synchronous receive
              >> receives nothing, the tx is rolled back, and another
              >> synch receive is posted with a new tx. (When interacting with
              >> foreign vendors, tx MDBs usually must post synchronous receives
              >> in order to infect the received message - there is no
              >> standard JMS API for infecting asynchronously received messages
              >> with a user transaction.)
              >>
              >> Tom
              >>
              >> Dmitri Maximovich wrote:
              >>
              >>> Hi everybody,
              >>>
              >>> Is anybody successfully using remote IBM MQseries 5.3 server as
              >>> Foreign JMS in WLS 8.1sp2?
              >>> We're observing some strange behavior in this case. Here is our setup:
              >>>
              >>> WLS and IBM MQ server deployed on separate boxes.
              >>> WLS version 8.1sp2 running on Windows 2000/Intel
              >>> IBM MQ version 5.3 running on Solaris/SPARC
              >>>
              >>> We're using "WebSphere MQ classes for Java, version 5.303 -
              >>> j5303-L030225"
              >>> and "WebSphere MQ Extended Transactional Client Feature, version
              >>> 5.300 - j5303-L030122"
              >>>
              >>> MQ files added in WLS POST_CLASSPATH variable in WLS starup script.
              >>>
              >>> Foreign JMS server configured in WLS via fscontext JNDI.
              >>>
              >>> MDB bean deployed with Transaction attribute "Required".
              >>>
              >>> Everything seems to work fine, if we're posting message to MQ queue
              >>> MDB receives it and process successfully (just print message content
              >>> to the console for now).
              >>>
              >>> Problem: In WLS console, under Server->Monitoring->JTA->Monitor
              >>> inflight transactions we can constantly see one transaction enlisted
              >>> for our MDB bean with following details:
              >>>
              >>> =====================================================
              >>> Transaction ID: BEA1-00DFC5EB4B7B7F28EDB9
              >>> Coordinator: mydomain+myserver
              >>> Name: JMSMessagePoller.xxx.xxx.MyMessageProcessorMdb
              >>> Status: Active
              >>> Seconds Active: 17
              >>> Resources:
              >>> weblogic.ejb20.JMSConnectionPoller.xxx.xxx.MyMessageProcessorMdb=started
              >>> Properties
              >>> (key=value):
              >>> weblogic.transaction.name=JMSMessagePoller.xxx.xxx.MyMessageProcessorMdb
              >>> =====================================================
              >>>
              >>> This transaction seems to be Active for 30 seconds and then rolled
              >>> back (no error messages on WLS console displayed).On JTA statistics
              >>> page in WLS console "Total Rolled Back" counter keeps increneting
              >>> with every rollback.
              >>>
              >>> Does anybody observerd similar problem? May be it's normal behaviour
              >>> but I'm kind of worrying about those transactions and constant
              >>> rollback. I'd appreciate any feedback.
              >>>
              >>> ---
              >>> Sincerely,
              >>> Dmitri Maximovich
              >>
              >>
              >>
              

Maybe you are looking for

  • Hide author properties from a WebI report?

    Hello, I need to u201CHideu201D the report Author from the properties in a Webi report. Can I do it with WebI Extension Points (Java or DHTML) or with REBEAN? Thanks, Paul

  • White Balance Tool

    I am using the following: latest CS4 version latest camera raw version MAC 10.5.5 Can anyone help please - I open bridge, then open a raw file in camera raw. I then use the white balance tool. I go over the image with this tool to see the pixel value

  • Mac Pro Buzzing Power Supply (PSU)

    Hi, Have any of you experienced a buzzing sound coming from the PSU? Sleeping the machine gets rid of the buzzing. So I'm not exactly sure what is causing it. Thanks

  • Reg Change request

    Hi , i am workin on SAP 4.0 B version, for few programs i have made some changes and when trying to assign a change request to the objects its by default creating a 'Local change Request'.. Tried to change the development class on advice of my basis

  • Compiling & Installing Example Jar

    I have a Vodafone V710, just bought it. I have created an sample application with NetBeans to run on my phone. Installing the JAR over USB with the V710 tool doesnt work. So I found out that there is a lot of discussions about the DRM. I tried to fin