XA transactions with JMS connector (with BEA WLS)

Hello,
are XA transactions supported by JMS connector when communicating with BEA WLS (version 8.1)?
Thanks
Tomas

Hi
Yes
Check this JMS FAQ
http://www.google.com/url?sa=t&ct=res&cd=1&url=https%3A%2F%2Fwww.sdn.sap.com%2Firj%2Fsdn%2Fgo%2Fportal%2Fprtroot%2Fdocs%2Flibrary%2Fuuid%2F604e2b64-e689-2910-64b3-ffd650f83756&ei=LcmERubLL4fgsALL6snWDw&usg=AFQjCNHbiooj-7G5g6w4tVVZQiRuQ5XQ_A&sig2=tpxbhUpIKR5oSe3aab8h4w
regards
krishna

Similar Messages

  • How to Configure and Use Oracle's JMS Connector with Tibco EMS

    Jeff,
    I am getting the below exception while try to do the deployment of the sample provided on 'How to Configure and Use Oracle's JMS Connector with Tibco Enterprise for JMS'
    While deployment not able to get the 'TibcoJMSReference',
    As I understand in the 'orion-application.xml for the below, unable to get the instance. Could you adivce how I can enable the trace more?
    <resource-provider class="com.evermind.server.deployment.ContextScanningResourceProvider" name="TibcoJMSReference">
    could you help to resolve the issue?
    Error
    Operation failed with error: No resource named 'TibcoJMSReference/TibcoXACF'found

    Hi,
    I'm also looking for the same 'Configure and Use Oracle's JMS Connector with Tibco JMS to consume message'. If you have already implemented and working fine, please let me know the steps and some documents.

  • Can I use my Apple DVD player with USB connector with my new iPad?

    Can I use my Apple DVD player with USB connector with my new iPad?

    No, the iPad won't recognise it. If you are wanting to copy content to the iPad then you will need to copy it to your computer first, and you can then sync it to your iPad.

  • Can I connect iPod (with dock connector) with just a USB connector?

    My mother-in-law gave my daughter her old iPod (with dock connector). It was supposed to come with an adapter that converts the 6-pin firewire cable to a USB cable (you are supposed to plug the 6-pin into the dock connector to charge it, then use the adapter to connect to your computer). We never got The adapter, so I just used USB connector from my own iPod nano to connect the old iPod into the computer. All kinds of error messages. I've now restored the iPod and it seems to be working, but I'm afraid to plug it back in using just the USB cable. Is it possible to connect the USB cable directly from the iPod to the computer without the adapter? Or could the problem be that I have also use my iPod nano on this computer? Thanks for any help you can provide.

    A 15GB iPod would have to be a 3rd gen iPod.  It has a touch (not click) wheel with four touch buttons in a row that glow orange during use, correct?  That model needs to be connected using FireWire, because it cannot charge over USB. 
    If your new Mac has a Thunderbolt port, you can get an adapter for FireWire
    http://store.apple.com/us/product/MD464ZM/A/apple-thunderbolt-to-firewire-adapte r
    plus an adapter for FireWire 800 to FireWire 400
    http://eshop.macsales.com/item/Other%20World%20Computing/FIR1369AD/
    Another way, if you have the square white FireWire power adapter that came with your iPod, is to get a special docking cable that Apple used to sell a long time ago.  It has both USB and FireWire connectors.  Here's a listing for a third-party version on eBay
    http://www.ebay.com/itm/2-Vanco-iPod-Dock-Connector-to-1-USB-1-FireWire-Cable-/2 71074766489?pt=US_MP3_Player_Chargers_Cradles&hash=item3f1d50ae99
    (Search on "FireWire USB iPod docking cable" to see other listings.)
    What you do with this thing is plug the USB connector to your Mac's USB port, the FireWire connector to the FireWire power adapter, and the dock connector to the iPod.  iPod can then sync over USB while getting power over FireWire.
    I would go with that special cable, to avoid using a series of adapters (which adds complexity and unreliability) and tying up the valuable Thunderbolt port for just your iPod.

  • Problems with File Upload on BEA WLS 6.1

    I encountered a problem with Jason Hunters File Upload Classes.
    When uploading a file I always get this exception:
    java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
    at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:175)
    at servlets.uploader.service(uploader.java:21)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:23
    90)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    The line of code that brings up this exception is:
    multiReq = new MultipartRequest((ServletRequest)request, "c:\\temp", 10485760);
    Going directly with the HttpServletRequest doesn't help.
    Can anybody help me out on this one? Thanks in forward.
    Michael

    The line of code that brings up this exception is:
    multiReq = new
    = new MultipartRequest((ServletRequest)request,
    "c:\\temp", 10485760);
    try this: MultipartRequest multiReq = new MultipartRequest((ServletRequest)request,
    "c:\\temp", 10485760);
    (not sure if that is the problem or not..)

  • How to Configure and Use Oracle's JMS Connector with Tibco Enterprise

    Following the advice here: http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-connect-to-tibco/doc/how-to-connect-to-tibco.html
    I believe I need to provide a username and password for the Tibco JMS provider, and would like to know the correct way. Is this right, in orion-application.xml
        <resource-provider class="com.evermind.server.deployment.ContextScanningResourceProvider" name="TibcoJMSReference">
            <property
                name="java.naming.factory.initial"
                value="com.tibco.tibjms.naming.TibjmsInitialContextFactory">
            </property>
            <property
                name="java.naming.provider.url"
                value="tibjmsnaming://jleinawe-sun:7222">
            </property>
      <property name="java.naming.security.principal" value="user" />
      <property name="java.naming.security.credentials" value="password" />
        </resource-provider>

    This is kind of up to Tibco...
    When you add properties to the resource-provider element, you are just adding entries to a Map which gets passed to the initial context factory, which in this case is implemented by Tibco (TibjmsInitialContextFactory), so you may want to check their docs.
    It's possible they only use that for username/password for JNDI access purposes and not for JMS. If so, you can explicitly set username/password for outbound connections in the oc4j-ra.xml file, and using ResUser/ResPassword in the MDB's activation-spec to set username/password for inbound connections.
    -Jeff

  • JMS Connector WebSphere MQ JMS Problems

    I'm having problems configuring and using Oracle's JMS Connector with IBM WebSphere MQ JMS, as explained in the following Oracle How-to:
    http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-connect-to-mqseries/doc/how-to-connect-to-mqseries.html
    by Jeff Steidl
    When trying to deploy the application to the oc4j (wich is done as part of the default ant target), I get the following error in the oc4j console:
    2006-07-20 12:04:29.859 ERROR J2EE EJB3027 [how-to-connect-to-mqseries] An error
    occured deploying EJB module: java.lang.InstantiationException: Resource except
    ion(MQJMSRAInstanceName) for MessageDrivenBean DealerEjbName during endpoint act
    ivation: failure looking up resource provider factory for XAConnectionFactoryWra
    pper [XA Unified]-OracleGJRA.XAConnectionFactoryWrapper.pedroec.-7b007002:10c88d
    48c98:-7fff.171 []: javax.resource.spi.ResourceAdapterInternalException: Looking
    up java:comp/resource/MQJMSReference/mqxacf: javax.naming.NameNotFoundException
    : No resource named 'MQJMSReference/mqxacf'found
    I assume the problem is that I don't have an appropriate WebShpere binding for the resource.
    Before going through the mentioned How-to, I followed the install instructions in:
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/Install.html
    In order to create a queue manager, a queue, a topic and the appropriate bindings.
    After following the previous document, I end up with the following bindings (listing obtained using JMSAdmin console):
    InitCtx> dis ctx
    Contents of InitCtx
    .bindings java.io.File
    a MQXAQCF com.ibm.mq.jms.MQXAQueueConnectionFactory
    a MQTCF com.ibm.mq.jms.MQTopicConnectionFactory
    a MQQCF com.ibm.mq.jms.MQQueueConnectionFactory
    a MQQ com.ibm.mq.jms.MQQueue
    a MQT com.ibm.mq.jms.MQTopic
    a MQXATCF com.ibm.mq.jms.MQXATopicConnectionFactory
    7 Object(s)
    0 Context(s)
    7 Binding(s), 6 Administered
    And as you can see there is no mqxacf binding.
    So the question is, should I define a new binding with that name? If so, what would be the command (def xacf(mqxacf) ?)
    As you can see, ther is a MQXAQCF binding so Instead of defining a new mqxacf (which I really don't know how to do...) I thought that maybe I could use this one, being a xa queue connection factory instead of a plain xa connection factory.
    This is used by the MDB, so I modified orion-ejb-jar.xml changing:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyXACF"
    name = "jms/DealerConnectionFactory"/>
    <config-property>
    <config-property-name>ConnectionFactoryJndiName
    </config-property-name>
    <config-property-value>MQJMSRASubcontext/MyXACF
    </config-property-value>
    </config-property>
    for this:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyXAQCF"
    name = "jms/DealerConnectionFactory"/>
    <config-property>
    <config-property-name>ConnectionFactoryJndiName
    </config-property-name>
    <config-property-value>MQJMSRASubcontext/MyXAQCF
    </config-property-value>
    </config-property>
    I changed MyXACF with MyXAQCF because oc4j-ra.xml defines a jndi location of mqxacf (which is not beign found in the bindings) for MyXACF while it defines a jndi location of MQXAQCF for MyXAQCF, which is defined in the bindings.
    With this change, the application deploys ok ... but when I run the client (ant larry) I get the following error (from the client console, not the oc4j console... in the oc4j console, nothing is reported):
    run-demo:
    [exec] java.lang.NullPointerException
    [exec] at oracle.j2ee.ra.jms.generic.RAUtils.lookupUsingResourceProvide
    r(RAUtils.java:254)
    [exec] at oracle.j2ee.ra.jms.generic.CommonManagedConnectionFactoryImpl
    .getFactory(CommonManagedConnectionFactoryImpl.java:605)
    [exec] at oracle.j2ee.ra.jms.generic.CommonFactoryWrapper.localCreateCo
    nnection(CommonFactoryWrapper.java:121)
    [exec] at oracle.j2ee.ra.jms.generic.ConnectionFactoryWrapper.createCon
    nection(ConnectionFactoryWrapper.java:62)
    [exec] at MyChannel.<init>(MyChannel.java:46)
    [exec] at Player.play(Player.java:242)
    [exec] at Player.main(Player.java:30)
    Since MyCF is bound to the jndi location mqcf (in oc4j-ra.xml) which does not exist in my MQ bindings I decided to modify orion-ejb-jar.xml as I did for the MyXACF of the MDB.
    I changed
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyCF"
    name = "jms/PlayerConnectionFactory"/>
    with this:
    <resource-ref-mapping
    location = "MQJMSRASubcontext/MyQCF"
    name = "jms/PlayerConnectionFactory"/>
    I changed MyCF to MyQCF, which has a jndi location of MQQCF (specified inside of oc4j-ra.xml) which has a valid MQ binding.
    .... but I get the following error:
    run-demo:
    [exec] Exception in thread "main" java.lang.AbstractMethodError: com.ibm.mq
    .jms.MQQueueConnectionFactory.createConnection()Ljavax/jms/Connection;
    [exec] at oracle.j2ee.ra.jms.generic.CommonManagedConnectionFactoryImpl
    .createManagedConnection(CommonManagedConnectionFactoryImpl.java:261)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.cr
    eateManagedConnection(ApplicationConnectionManager.java:1333)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnect
    ionFromFactory(ConnectionPoolImpl.java:324)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.access$800(Connectio
    nPoolImpl.java:95)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl$NonePoolingScheme.ge
    tManagedConnection(ConnectionPoolImpl.java:1209)
    [exec] at oracle.j2ee.connector.ConnectionPoolImpl.getManagedConnection
    (ConnectionPoolImpl.java:782)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.ge
    tConnectionFromPool(ApplicationConnectionManager.java:1532)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.ac
    quireConnectionContext(ApplicationConnectionManager.java:1477)
    [exec] at com.evermind.server.connector.ApplicationConnectionManager.al
    locateConnection(ApplicationConnectionManager.java:1423)
    [exec] at oracle.j2ee.connector.OracleConnectionManager.unprivileged_al
    locateConnection(OracleConnectionManager.java:244)
    [exec] at oracle.j2ee.connector.OracleConnectionManager.allocateConnect
    ion(OracleConnectionManager.java:198)
    [exec] at oracle.j2ee.ra.jms.generic.CommonFactoryWrapper.localCreateCo
    nnection(CommonFactoryWrapper.java:130)
    [exec] at oracle.j2ee.ra.jms.generic.QueueConnectionFactoryWrapper.crea
    teConnection(QueueConnectionFactoryWrapper.java:84)
    [exec] at MyChannel.<init>(MyChannel.java:46)
    [exec] at Player.play(Player.java:242)
    [exec] at Player.main(Player.java:30)
    [exec] Result: 1
    So as you can see I'm stuck.
    Maybe it is just a simple matter of defining the appropriate objects and bindigs for mqxacf and mqcf, but I don't know how to do that.
    I would appreciate any help.
    Message was edited by:
    pablokrause

    Thanks again for your quick and useful response Jeff.
    Regarding the extra administration steps to get topic consumers working in MQ, I had already executed them a few days ago as part of the MQ setup as is described in another JMS resource adapter demo (see references at bottom of this reply) but I thought that doing it once was enough. Well, it seems that you have to execute those commands each time you start MQ!
    I executed them (again), as you kindly suggested in your last response and voila, it worked!... well sort of.
    After starting the clients, I get the following random error in oc4j:
    06/07/21 15:39:18 Got message: PING
    06/07/21 15:39:18 randomly testing rollback:
    06/07/21 15:39:18 sending a junk message
    06/07/21 15:39:18 Sent message: Invalid junk message
    06/07/21 15:39:18 marking transaction for rollback
    06/07/21 15:39:18 sending a junk message
    06/07/21 15:39:18 Sent message: Invalid junk message
    2006-07-21 15:39:18.921 WARNING J2EE JTA0107 Error in resource driver during rol
    lback: javax.transaction.xa.XAException: XA operation failed, see errorCode
    2006-07-21 15:39:18.921 WARNING J2EE JTA0104 Failed to add the resource due to e
    rror in the resource : javax.transaction.xa.XAException: Attempt to start transa
    ction while transaction Xid( Global Id c0.a7.ff.20.b0.22.00.00.0c.00.00.00.00.00
    .00.00.00.00.00.00.00.00.00.00, Format Id 4660, Branch Id 7d.20.c6.d9.00.00.00.0
    0.00.00.00.00.00.00.00.00) is active. errorcode : -6 : Enlistment of resource fa
    iled. Attempt to start transaction while transaction Xid( Global Id c0.a7.ff.20.
    b0.22.00.00.0c.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00, Format Id 4660, Bra
    nch Id 7d.20.c6.d9.00.00.00.00.00.00.00.00.00.00.00.00) is active.
    followed, after a few seconds, by the following stack trace:
    06/07/21 16:13:30 Got message: PING
    06/07/21 16:13:30 MQJMS3011: Failed to publish message to MQ queue
    06/07/21 16:13:30 javax.jms.JMSException: MQJMS3011: Failed to publish message t
    o MQ queue
    06/07/21 16:13:30 at com.ibm.mq.jms.services.ConfigEnvironment.newExceptio
    n(ConfigEnvironment.java:553)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.publish(MQMessagePro
    ducer.java:1855)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProduc
    er.java:976)
    06/07/21 16:13:30 at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProduc
    er.java:1056)
    06/07/21 16:13:30 at oracle.j2ee.ra.jms.generic.CommonProducerWrapper.send
    (CommonProducerWrapper.java:121)
    06/07/21 16:13:30 at MyChannel.send(MyChannel.java:73)
    06/07/21 16:13:30 at Dealer.onMessage(Dealer.java:210)
    06/07/21 16:13:30 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M
    ethod)
    06/07/21 16:13:30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMet
    hodAccessorImpl.java:39)
    06/07/21 16:13:30 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Deleg
    atingMethodAccessorImpl.java:25)
    06/07/21 16:13:30 at java.lang.reflect.Method.invoke(Method.java:585)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.joinpoint.EJBJoin
    PointImpl.invoke(EJBJoinPointImpl.java:35)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.system.DMSInterce
    ptor.invoke(DMSInterceptor.java:52)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.system.SetContext
    ActionInterceptor.invoke(SetContextActionInterceptor.java:34)
    06/07/21 16:13:30 at com.evermind.server.ejb.interceptor.InvocationContext
    Impl.proceed(InvocationContextImpl.java:69)
    06/07/21 16:13:30 at oracle.j2ee.connector.messageinflow.MessageEndpointIm
    pl.invokeMessageInflowCallbacks(MessageEndpointImpl.java:294)
    06/07/21 16:13:30 at MessageListener_MessageEndpoint1.onMessage(MessageLis
    tener_MessageEndpoint1.java:39)
    06/07/21 16:13:30 at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsu
    mer.java:237)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(
    WorkWrapper.java:242)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWra
    pper.java:215)
    06/07/21 16:13:30 at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrappe
    r.java:190)
    06/07/21 16:13:30 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worke
    r.run(PooledExecutor.java:814)
    06/07/21 16:13:30 at java.lang.Thread.run(Thread.java:595)
    In the Dealer code, I found a piece of code that randomly generating a junk message and marking the transaction for rollback. If I comment out this code, everything works fine.
    So, even when I managed to make the demo work, the transactional stuff is not working.
    It would be really nice to know what is going on, but I'm tired, its fiday and I'm clueless...
    Now, for the "Unable to load message properties file - mqji(xx).properties", it is still showing up, but as you said, MQ seems to work fine.
    Thank you very much again Jeff for your invaluable and extremely responsive help.
    References:
    I can't seem to find an demo that was very useful for me for setting up MQ in the Oracle site, but the direct links seem to still be working:
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/readme.html
    http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/jcajmsmq/doc/Install.html
    and the sample code and scripts:
    http://otn.oracle.com/tech/java/oc4j/1003/how_to/jcajmsmq.zip
    Message was edited by:
    pablokrause

  • 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?
              

  • Looking up JMS destinations with clustered WLS

              From scanning the postings, it appears that in a clustered WLS environment, the
              JMS servers are not clustered. As a result, the JMS destinations must be unique
              across all of the WLS in the cluster. In addition, there is no failover available
              when a JMS server goes down.
              With that stated, what I want to know is:
              When establishing a JMS connection with a JMS server in a WLS cluster, do I need
              to know the JNDI URL for each specific JMS server that is managing the destination(s)
              I wish to pub/sub?
              Or, is there a 'global' JNDI tree that I can reference and the clustered WLS behind
              the scenes will route me to the appropriate JMS server?
              If resolving the URL is a manual process, I will need to keep track of which destinations
              reside on which JMS servers. This adds an additional maintenance point that I
              would like to avoid if possible.
              Thanks,
              Bob.
              

    One can use Connection Factory to establish connection to particular
              destination (queue/topic). connection factories are clustered. so, one don't
              need to have knowledge of particular WLS.
              "Neal Yin" <[email protected]> wrote in message
              news:[email protected]...
              > Although there is only one JMS server instance, you can lookup it from
              > anywhere in a cluster.
              > In another words, JNDI tree is global in a WLS cluster. Just give cluster
              > DNS name in your
              > URL, you will be fine.
              >
              > -Neal
              >
              >
              > "Bob Peroutka" <[email protected]> wrote in message
              > news:[email protected]...
              > >
              > > From scanning the postings, it appears that in a clustered WLS
              > environment, the
              > > JMS servers are not clustered. As a result, the JMS destinations must
              be
              > unique
              > > across all of the WLS in the cluster. In addition, there is no failover
              > available
              > > when a JMS server goes down.
              > >
              > > With that stated, what I want to know is:
              > >
              > > When establishing a JMS connection with a JMS server in a WLS cluster,
              do
              > I need
              > > to know the JNDI URL for each specific JMS server that is managing the
              > destination(s)
              > > I wish to pub/sub?
              > >
              > > Or, is there a 'global' JNDI tree that I can reference and the clustered
              > WLS behind
              > > the scenes will route me to the appropriate JMS server?
              > >
              > > If resolving the URL is a manual process, I will need to keep track of
              > which destinations
              > > reside on which JMS servers. This adds an additional maintenance point
              > that I
              > > would like to avoid if possible.
              > >
              > > Thanks,
              > >
              > > Bob.
              > >
              > >
              > >
              >
              >
              

  • Weblogic: problem with JMS foreign server and Transaction

    Hello everyone,
    I am working with an enterprise application with Web Application Server Logic 10.3. L 'application uses the following components:
    1) MDB 2.0
    2) FOREIGN JMS SERVER -> WebSpereMQ
    3) EJB SESSION
    L 'MDB calls the session bean which uses in its ejb-jar.xml using a Wrapper for JMS QueueConnectionFactory with res-ref:
    <resource- ref>
    <res-ref-name> jms / iss / QCFIXP </ res-ref-name>
    <res-auth> Container </ res-auth>
    <res-sharing -scope> Shareable </ res-sharing-scope>
    <resource- ref>
    The MDB is CMT
    <transaction-type> Container </ transaction-type>
    while the session bean is BMT
    <transaction-type> Bean </ transaction-type>
    to call the QCFIXP in its transaction.
    The QCFIXP ii an XA resource
    When there is a rollback operation in SessionBean also in 'MDB
    There 'an operation setRollbackOnly:
    getMessageDrivenContext (). setRollbackOnly ();
    After this operation on the MDB I do a JNDI look up the QueueConnectionFactory but sending the message on a queue I get the following exception:
    javax.jms.JMSException: [JMSPool: 169809] An error occurred while registering the JMS connection with JTA:
    But if not using the "wrapper jms" in the session bean I did not take any exception and the application don' t have any error.
    My doubt is :
    Why if I use the JMS wrapper I get an error javax.jms.JMSException: [JMSPool: 169809] An error occurred while registering the JMS connection with JTA?
    Thanks in advance.
    Michele
    Edited by: user3501731 on 11-mag-2011 3.16

    Hi Tom,
    Thanks very much for your responses and careful analysis you've done.
    Following the source code of the MDB where error occurs.
    Marked In bold the line where the exception is thrown.
         public void onMessage(Message msg) {
    //          Utility.logger(AP.DEBUG, "Partito MDB 2");
              processa(msg);
              protected void processa(Message msg) {
              Utility.logger(
                   AP.DEBUG,
                   "IXPReceiverMDB7.processa(Message msg) partito");
              try {
                   long start = System.currentTimeMillis();
    /*               Utility.logger(
                        AP.DEBUG,
                        "IXPReceiverMDB.processa(Message msg) effettuo lookup");*/
                   ejb = myEjbLocalHome.create();
                   // individuo l'identificativo del messaggio in ricezione
                   String msgid = msg.getJMSMessageID();
                   Utility.logger(
                        AP.DEBUG,
                        "IXPReceiverMDB7.processa(Message msg) elaboro messaggio:"
                             + msgid);
                   String charset = msg.getStringProperty("JMS_IBM_Character_Set");
                   Utility.logger(
                        AP.DEBUG,
                        "IXPReceiverMDB7.processa Charset:" + charset );
                   // invoco il processo di ricezione
                   boolean commitRequested = ejb.processa(ctlReq, encoding, msg);
                   // il valore di ritorno del processo di ricezione identifica o meno
                   // la necessita' di effettuare il rollback dell'intero processo
                   if (!commitRequested) {
                        getMessageDrivenContext().setRollbackOnly();
                   if (ctlReq) {
                        Utility.logger(
                             AP.INFO,
                             "IXPReceiverMDB7.processa(Message msg) spedisco il messaggio pilota del 'cleaning' con JMSCorrelationID = '"
                                  + msgid
                                  + "'");
                        msg.setJMSCorrelationID(msgid);
                        // Viene creata la QueueConnection
                        QueueConnectionFactory factory =
                             JmsFactoryDispenser.getSingleton().getFactory();
                        QueueConnection connection = factory.createQueueConnection();
                        // Viene ottenuta la 'session'
                        QueueSession session =
                             connection.createQueueSession(
                                  false,
                                  Session.AUTO_ACKNOWLEDGE);
                        // spedisco il messaggio sulla coda abbinata al processo di 'cleaning'
                        // della coda di controllo
                        IXPMessageManager msgManager = new IXPMessageManager(session);
                        msgManager.spedisci(msg, AP.PILOTQUEUE, "J", AP.STD_MESSAGE);                    session.close();
                        connection.close();
                   long end = System.currentTimeMillis();
                   Long durata = new Long (end - start);
                   Utility.logger(
                        AP.INFO,
                        "IXPReceiverMDB7 Tempo totale elaborazione messaggio: " +
                        msgid + " " +
                        durata.toString() + " mill" );
                   Utility.logger(
                        AP.DEBUG,
                        "IXPReceiverMDB7.processa(Message msg) terminato");
              } catch (Throwable e) {
                   getMessageDrivenContext().setRollbackOnly();
                   try {
                        Utility.myExceptionHandler(
                             "E",
                             "1",
                             "4028",
                             "IXPReceiverMDB.onMessage()",
                             e);
                   } catch (Throwable ex) {
                        ex.printStackTrace();
    Thanks in advance.
    Edited by: serpichetto on 16-mag-2011 1.24

  • Configuring WL JMS as a foreign JMS provider with security scope (WLS 8.1)

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

  • JMS Sender with ejb3 container managed transaction

    Hi all,
    I refer to the following link http://download.oracle.com/docs/cd/E11035_01/wls100/jms/trans.html#wp1035937
    I found that JTA support JMS.
    But I dont' want to use JTA explicitly, I want to use container manage transaction. eg. inside ejb3 stateless session bean.
    does it support JMS?
    With Regards,
    wp

    Hi,
    Yes, WebLogic JMS supports JTA (a.k.a XA, a.k.a global) transactions such as container managed transactions. There are two requirements for CMTs on SSB:
    (1) use an XML descriptor setting or EJB annotation to enable CMT for the SSB
    (2) use a WebLogic JMS connection factory that is configured to have "global (XA) transactions enabled"
    And I usually also recommend:
    (3) Consider using a JEE "res-ref" for the connection factory to enable pooling of JMS resources. See "Enhanced Support for Using WebLogic JMS with EJBs and Servlets" (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/j2ee.htm#g1329180), and the "Integrating Remote JMS Providers" FAQ (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/interop.htm#JMSPG553).
    (4) Avoid using SSBs to receive messages. MDBs are specifically designed for processing incoming messages.
    It's also possible to have WebLogic automatically enlist foreign (non-WebLogic) vendors in WebLogic transactions. See the "Integrating Remote JMS Providers" FAQ for details (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/interop.htm#JMSPG553).
    Regards,
    tom

  • Problem with Send using JMS Adapter with Websphere MQ

    Hi,
    We have two scenarios using JMS Adapter with MQ:
    1. File->PI->MQ
    This works fine and drop the file in MQ correctly.
    2. MQ->PI->File
    This gives an error reading from the queue: (see highlighted in the log below). It correctly connects to the queue name. But it fails with the message "Could not begin a AF transaction".
    Our PI version is 7.0 SP 13
    Websphere MQ Version 6.0.
    Any idea what could be wrong?
      Cluster Node  Administration Information  Availability Times
    Cluster Node Details for Channel CC_JMS_MQ_Sender
    Short Log 
    In the Last 4 Hours Server 0 15_92786
    _Sucessfully connected to destination 'queue:///MMPP.PLM.FGH41? CCSID=37&targetClient=1'_
       Line 1 / 1
    Processing Details for Cluster Node Server 0 15_92786
    Type 
    Time Stamp 
    Message ID 
    Explanation 
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d Error while processing message '2e6206f0-7925-11dd-bc02-0003bae50b4d';  _detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Could not begin a AF transaction: TxManagerException: Unable to open transaction: com.sap.engine.services.ts.exceptions.BaseSystemException at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:103) ..._  
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d XI message ID corresponding to JMS message with ID 'ID:414d512071736431202020202020202047d9462024028b02' will be created as a new GUID with value '2e6206f0-7925-11dd-bc02-0003bae50b4d'
    Amith Dharmasiri

    Checked the drivers installed in :
    /usr/sap/<SID>/DVEBMGS<SYSNO>
    /j2ee/cluster/server0/bin/ext/com.sap
    .aii.af.jmsproviderlib
    They are available and properly added to aii_af_jmsproviderlib.sda.
    The drivers are:
    CL3Export.jar
    CL3Nonexport.jar
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
    These were installed per OSS note 747601.
    Any other suggestions, why retrieving from MQ doesn't work?

  • Problem with JMS in a Cluster

    In summary I am having a problem with my application when it is running on the server that does not contain the JMS.
              Setup:
              2 machines:- Server 1 with the Admin Server and a Managed Server with JMS and a Distributed Queue. Second machine (Server 2) with a managed server. The two managed servers are in a Cluster.
              The connection factory has xa enabled.
              The queue is a distributed queue, with one member queue - on server 1.
              Scenario 1 (works):
              Deploy my application on Server 1 only
              Scenario 2 (works):
              Deploy my application on Server 1 and Server 2
              When the application puts messages on the JMS queue, the messages are processed round robin by the MDB on both Server 1 and Server 2 - as expected.
              Scenario 3 - Does not work
              Deploy my application on Server 2 only
              The application successfully sends a message to the queue - I can see it in queue through the console.
              However the MDB never processes the message. On the queue, I can see 0 consumers.
              Essentially the MDB appears to deploy correctly from the server log but never appears as a consumer on the queue.
              I know the above information is very brief, however I can provide more configuration details and detailed logging if required.

    On a further look through the logs, I have found the following Warning message which may point to the reason why my MDB is not receiving messages from JMS:
              <25-Apr-2005 17:26:01 o'clock IST> <Warning> <EJB> <BEA-010220> <The jms destination 'AsyncMessageQueue' is a distributed destination and it has no physical destination(s) on the current weblogic server. As per distributed destination co-location rules, no pool was creted for the MDB 'AsyncMessage(Application: m3-j2ee_Weblogic21apr_2, EJBComponent: ejb_framework.jar)' on this weblogic server. Hence the MDB 'AsyncMessage(Application: m3-j2ee_Weblogic21apr_2, EJBComponent: ejb_framework.jar)' cannot receive any messages on this server.>
              I have created a Destination on the JMS Server ("Replicate JNDI Name In Cluster" is set), and I have created a Distributed Destination, which has as its member the Destination associated with the JMS Server.
              If the JMS is not on the same server as the deployed application, how do I get the MDB to connect to the physical destination?
              Do I always need a Physical Destination on the the same server as my deployed application? If so, how do I create a Physical Destination on the server that does not have the JMS?
              Any help appreciated.

  • [OIM 11g R1] OID 11.1.1.5.0 Connector with OpenLDAP: Errors in logs

    I am using the Oracle Internet Directory 11.1.1.5.0 connector with OpenLDAP as my target system.
    Every time I run the "LDAP Connector User search Reconciliation", I see the following error for each user.
    <Feb 21, 2013 3:54:57 PM EST> <Error> <ORACLE.IAM.CONNECTORS.ICFCOMMON.RECON.SEARCHRECONTASK> <BEA-000000> <oracle.iam.connectors.icfcommon.recon.SearchReconTask : handle : Recon event skipped>
    The reconciliation events do get generated in OIM and the reconciliation engine does link the account when a user match is found.
    I am wondering what is causing that error to be thrown and whether if performance of the LDAP reconciliation is affected by this error.

    Any updates i am facing same problem.
    thanks in advance

Maybe you are looking for

  • Cross Reference an Object??

    How do I cross reference an object using Indesign CS4? I've got a PDF that I've dropped into a frame, which I applied an Object Style.  Now I need to create a cross references in the document, that point to the PDF (a chart).  I've got to do this wit

  • Is there a way to show the current URL for a WebHelp topic in the browser?

    RoboHelp 11, WebHelp. When I open the WebHelp project, the URL displays the start page for the Touchstone Help project: ..../Documentation/Touchstone/Content/Content.htm. As I go to different pages in the Help, the URL never changes. Our client consu

  • External Monitor Preferences

    I bring my Macbook Pro to work every day and plug it into an external monitor on my desk. When I plug it in, I have to go through a routine that involves changing the resolution on the external monitor, then switching it back to mirror displays (beca

  • Viewing multiple results in Spotlight search in messages

    When I perform a spotlight search for certain words in Messages it returns multiple results with multiple people.  How do I view each conversation?  I have 18 results with one person but can only view one conversation out of the 18 when I click?  Tha

  • Adobe Reader cannot highlight text

    Sounds like user cannot highlight contents when viewing PDF fils in Adobe Reader