Mdb w/ non jms mq series

Hi,
          I have several legacy java daemons that communicates with a vendor via MQ Java using MQSeries hosted at a vendor site. The daemons were poorly written and are always dying (that is when production support remembers to start them at all). :D
          I'd like to rewrite the application using MDBs. Is there any way to support this without requiring the vendor to change to MQSeries JMS (i.e. set up MQSeries JNDI, configure a Java Channel, etc)? I don't have any JMS transactional requirements. I just want to move to an in-server process.
          thanks,
          Laphroaig

If you had the time, you could write your own version of the javax.jms.* interfaces that wraps the MQ java APIs sufficient for MDB or bridge purposes, and then register instances of the CF and destination wrappers in WebLogic's JNDi via a startup class or load-on-start servlet. I've seen various customers use this approach for non-JMS (and even non-java) queueing systems, and personally, I think this is one of the most elegant, flexible, and maintainable solutions.
          Another alternative is to write your own version of a bridge. You might be able to use the "MQSeries JMS Support" code sample (meant for 6.x) as an example:
          http://dev2dev.bea.com/codelibrary/code/mqseries.jsp
          Tom

Similar Messages

  • Does J2EE 1.4 RI support non-JMS MDBs?

    I implemented an inbound resource adapter using a custom message listener interface com.mycorp.MyMessageListener.
    I have an MDB implementation class implementing this interface and MessageDrivenBean interface.
    In the deployment descriptor I have
    <messaging-type>
    com.mycorp.MyMessageListener
    </messaging-type>
    When I verify the ejb-jar with Verifier from SDK, I get failure, saying that my MDB implementation class "does not implement the [ javax.jms.MessageListener ] interface".
    Anyone knows if this new feature is supported in RI? Am I missing something?
    Any information would be greatly appreciated.
    Sergey

    According to the release notes
       http://java.sun.com/j2ee/sdk_1.4/beta/techdocs/release/ReleaseNotes.html
    it should support the J2EE Connector 1.5 specification.
    Download the spec
       http://java.sun.com/j2ee/connector/download.html
    and read section 13.3 and 12.7 and 12.8 (A Non-JMS Use Case).
    I think the latter clearly says it is supported by the specification.
    Or do you mean that J2EE RI 1.4 does not follow the specification?
    Hans

  • 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

  • JMS - MQ Series

    Hello,
    we try to set up a receiving JMS adapter to connect to MQ series, but so far we are unsuccessful. In the dapter framework monitor we get a "MQJMS2008: failed to open MQ queue" error message. In the RWB not much useful information exists. Our Configuration is as follows:
    QueueConnection Java Class com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class   com.ibm.mq.jms.MQQueue
    Queue Manager Name QM00191
    Channel Name       CQM00191.CLSAPCM
    JMS Queue          AQG.CREDITINFO.SOPIC.R3.3530
    JMS Compliant      WebSphereMQ (non-JMS)
    The IBM JMS JAR files are deplyed according to the SAP How To guide.
    Any suggestions on how to proceed?
    Kind regards Johan

    Hi Johan,
    could you explain the different between the WebSphereMQ (not JMS) and JMS-konform. Why and when should use which mode?
    When you configure the JMS-Adapter which how to guide do you mean? Where to find it?
    Thanks,
    Ly-Na Phu

  • JMS to non-JMS

    We have developed a non-JMS Messaging system (used publisher-subscriber model, following avalon framework). Now my requirement is to listen to the JMS events. I mean, my event listener should be able listen to event published by any JMS messaging system. Is there any way to do this.
    We need to see a way to interop with JMS requests and send responses. ie bringing a sort of compatibility in exchanging messages between JMS and non-JMS Notification services. is there any way to do it?

    Yeah, I too have a idea of using MDB to achieve this. Can you please provide some information on this or some links or prototypes where it has been implemented.

  • JMS-MQ Series error( MQJMS2002)

    Hi,
    I have an MDB listening to a queue. I am using MQ Series instead of Jboss mq. It has been working fine but I have faced the below error a fews days back and i am unable to solve it.
    For a particular message , I get an error javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue , when I remove it from the queue , it works fine i.e the messages starts being processed by the MDB. But if i again place the message back in the queue the same error keeps appearing again and again in the log and no further messages gets proceesed by the MDB.
    In our application the length of the message is more than 4mb so we have modified all the queues to 10mb in mqseries and it has been working fine from a long time. But for this particular message the above situation is occuring. Note size of dead letter queue is still 4mb.
    Can the below be happening:-
    For some reason the queue manager cannot deliver a message and so it attempts to put the message on its dead-letter queue , but since the DLQ max size is 4mb , it goes into a loop.....may not sound very convincing thought...........but if i change the size of DLQ to 10mb ...will it help my cause.....below is the full stack trace ..........
    44526 2007-07-25 09:16:24,162 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
    44527 javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    44528 at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:567)
    44529 at com.ibm.mq.jms.MQSession.consume(MQSession.java:3113)
    44530 at com.ibm.mq.jms.MQSession.run(MQSession.java:1612)
    44531 at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:182)
    44532 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
    44533 at java.lang.Thread.run(Thread.java:534)
    44534 2007-07-25 09:16:24,162 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
    44535 2007-07-25 09:16:24,162 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] unset exception listener
    44536 2007-07-25 09:16:29,138 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] connection stopped
    44537 2007-07-25 09:16:29,138 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] destroyService
    44538 2007-07-25 09:16:29,162 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Clearing 1 from ServerSessionPool
    44539 2007-07-25 09:16:29,163 DEBUG [org.jboss.jms.asf.StdServerSession] closed
    44540 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopping DLQHandler
    44541 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopped DLQHandler
    44542 2007-07-25 09:16:29,164 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying DLQHandler
    44543 2007-07-25 09:16:29,166 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed DLQHandler
    44544 2007-07-25 09:16:29,166 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Waiting for reconnect internal 10000 ms
    44545 2007-07-25 09:16:39,164 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider
    44546 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
    44547 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/WSMQ JMSProvider
    44548 2007-07-25 09:16:39,164 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JN DIProviderAdapter@15e0638
    44549 2007-07-25 09:16:39,165 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
    44550 2007-07-25 09:16:39,165 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: com.ibm.mq.jms.MQQueueConnectionF actory@895ab1c7
    44551 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: com.ibm.mq.jms.MQQueueConnec tion@bd7301
    44552 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using Queue: queue://OMNT031P/SYSTEM.DEAD.LETTER .QUEUE
    44553 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created DLQHandler
    44554 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] context: javax.naming.InitialContext@1c 95c92
    44555 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] jndiSuffix: ossToNpgQueue
    44556 2007-07-25 09:16:39,187 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Got destination type Queue for OssJmsMd bOm
    44557 2007-07-25 09:16:39,187 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using connection factory: com.ibm.mq.jms.MQQueu eConnectionFactory@895ab1c7
    44558 2007-07-25 09:16:39,188 DEBUG [org.jboss.jms.ConnectionFactoryHelper] using username/password: null/null
    44559 2007-07-25 09:16:39,190 DEBUG [org.jboss.jms.ConnectionFactoryHelper] created QueueConnection: com.ibm.mq.jms.MQQueue Connection@dcb4bb
    44560 2007-07-25 09:16:39,190 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Using client id: null
    44561 2007-07-25 09:16:39,190 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Could not find the queue destination-jn di-name=ossToNpgQueue
    44562 2007-07-25 09:16:39,190 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] looking up session pool factory: java:/ StdJMSPool
    44563 2007-07-25 09:16:39,190 DEBUG [org.jboss.jms.asf.StdServerSessionPool] initializing with connection: com.ibm.mq.jms.M QQueueConnection@dcb4bb
    44564 2007-07-25 09:16:39,191 WARN [org.jboss.jms.asf.StdServerSessionPool] Using a non-XA QueueConnection. It will not b e able to participate in a Global UOW
    44565 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSession] initializing (pool, session, xaSession, useLocalTX ): org.jboss.jms.asf.StdServerSessionPool@1dd92ab, com.ibm.mq.jms.MQQueueSession@1c8363b, null, false
    44566 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSessionPool] added server session to the pool: org.jboss.jm s.asf.StdServerSession@1605c66
    44567 2007-07-25 09:16:39,191 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Server Session pool set up
    44568 2007-07-25 09:16:39,191 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Server session pool: org.jboss.jms.asf. StdServerSessionPool@1dd92ab
    44569 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Connection consumer: com.ibm.mq.jms.MQC onnectionConsumer@1526ddf
    44570 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initialized with config org.jboss.ejb.p lugins.jms.JMSContainerInvoker@9ba786{ maxMessagesNr=1, maxPoolSize=1, reconnectInterval=10000, providerAdapterJNDI=j        ava:/WSMQJMSProvider, serverSessionPoolFactoryJNDI=java:/StdJMSPool, acknowledgeMode=1, isContainerManagedTx=false, i        sNotSupportedTx=false, useDLQ=true, dlqHandler=org.jboss.ejb.plugins.jms.DLQHandler@ab5354{ destinationJNDI=queue/WSM        Q/DLQ, maxResent=1, timeToLive=0 }, destinationJNDI=ossToNpgQueue }
    44571 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Starting DLQHandler
    44572 2007-07-25 09:16:39,195 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Started DLQHandler
    44573 2007-07-25 09:16:39,196 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider
    44574 2007-07-25 09:16:39,226 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:
    44575 javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    44576 at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:567)
    44577 at com.ibm.mq.jms.MQSession.consume(MQSession.java:3113)
    44578 at com.ibm.mq.jms.MQSession.run(MQSession.java:1612)
    44579 at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:182)
    44580 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
    44581 at java.lang.Thread.run(Thread.java:534)
    44582 2007-07-25 09:16:39,226 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
    44583 2007-07-25 09:16:39,226 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] unset exception listener
    44584 2007-07-25 09:16:44,204 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] connection stopped
    44585 2007-07-25 09:16:44,204 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] destroyService
    44586 2007-07-25 09:16:44,204 DEBUG [org.jboss.jms.asf.StdServerSessionPool] Clearing 1 from ServerSessionPool
    44587 2007-07-25 09:16:44,205 DEBUG [org.jboss.jms.asf.StdServerSession] closed
    44588 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopping DLQHandler
    44589 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Stopped DLQHandler
    44590 2007-07-25 09:16:44,205 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying DLQHandler
    44591 2007-07-25 09:16:44,206 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed DLQHandler
    44592 2007-07-25 09:16:44,206 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Waiting for reconnect internal 10000 ms
    44593 2007-07-25 09:16:54,211 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to
    Thanks

    Hi,
    This is with reference to your CV Posted in jobsite. Let me introduce myself Kranti, working with Techpoint Solutions! as IT Recruiter. We have job opening matching your profile.
    Send your update Resume to
    [email protected]
    Note:
    1. Check list below is mandatory, without the check list we cannot process your CV.
    Full Name:
    DOB:
    Current CTC:
    Exp CTC:
    Notice Period:
    Current Location:
    Ready to relocate to Hyderabad :
    Job Location : Hyderabad
    Once your profile gets short-listed, you would be called for a face to face interview.
    JOB SPECIFICATION �
    Senior Developer/ Lead
    Experience Required:
    Total Years of Experience: 4+years experience in IT
    At least 1 -2 years experience leading a team.
    Education: Should be a BE/ B Tech/ ME/ M Tech/ ! MCA/ M Sc in IT/ Systems/ Computers.
    - Consistent 60% academic record is a must.
    - Candidates interviewed by us in the last 6 months are not eligible.
    - Correspondence / Part time Courses does not qualify.
    - Gaps in Education / Career should not be more than 2 yrs (If any).
    - At least 50% of yo! ur Post Qualification experience should be relevant to IT or to the skill set that we are looking at.
    Description
    Develop web pages and backend programs
    Technical Skills
    Must haves:
    Operating System worked on: Experience on Unix at least 3 years.
    Scripting language: Worked on She ll and Perl scripts minimum 3 years.
    Database exposure/Worked on : Experience on Sybase development. WebLogic Server or WebSphere. Java J2EE, JMS
    MQ, VSS (should on Application side)
    Actuate Reporting is a plus.
    Domain: Investment Banking
    Job! Location: Hyderabad
    Thanks & Regards,
    Kranti Punjala
    Executive (Recruitments)
    Techpoint Solutions.
    [email protected]

  • MDB vs standalone JMS client

    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? Are MDB passivated at any
    time ?
    Many thanks for any answer,
    Rosalie
    Rosalie

    Rosalie Mignon wrote:
    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.There's a number of MDB advantages over writing your own JMS consumers.
    I would recommend MDBs for JMS consumers running within WLS. If you
    have a JMS consumer that is a separate (say client) process, then
    vanilla JMS is still the way to go.
    The MDB container takes care of things like reconnecting you to JMS if
    it fails. It supports foreign JMS providers so your MDBs will work with
    "foreign" messaging systems like MQ-Series.
    >
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?Yes, ejbCreate would be fine.
    >
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?I'm not sure I understand. You will have a pool of MDB instances all
    receiving from the queue. When an instance is available and there is a
    message pending, the EJB/JMS containers will call your MDB's onMessage
    implementation.
    >
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?Not that I can think of.
    >
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? You are not really allowed to create threads from an EJB. Why do you
    need to create threads? In general, we wouldn't recommend that
    server-side applications create new threads on each request.
    Are MDB passivated at any
    time ?
    No
    Many thanks for any answer,Your domain name is an unusual one for the J2EE world. If you can tell
    us, I'd be interested to know what you're doing.
    -- Rob
    >
    Rosalie
    Rosalie

  • MDB sending a JMS message to a queue (WLS 8.1.4)

    We are trying to implement a MDB to send a JMS message to a dynamically created JMS queue. Is this possible? We have found documentation stating the JMS Queue destination needs to be in the deployment descriptor, but in our case it changes so this is not an option. Any help would be appreciated.

    Sorry I didn't address the answers more clearly. You were correct on the answers except with:
              Switch from using a resource-reference to a direct reference for a send? Answer: No. We are only trying a direct send, not utilizing the resource-reference.
              We are already using "false" for the connection.create[Queue]Session code.
              Should we be trying something else because of transactional behavior of not utilizing the resource-reference for the send as you thought?
              We have tried the queue as XA and non-XA and neither work.

  • ClassCastException on acknowledge from MDB - foreign Joram JMS

    I have defined a foreign Joram JMS server in WLS. An MDB listens on a topic defined in Joram JMS. I am able to publish messages to this topic and the MDB does receive them. However, on acknowledging the message, WLS throws a ClassCast exception.
              The Joram JARs are listed in the CLASSPATH used to start weblogic. They are not present in the EAR file.
              Stack Trace:
              <Sep 26, 2005 3:17:51 PM MDT> <Error> <Kernel> <BEA-000802> <ExecuteRequest fail
              ed
              java.lang.ClassCastException: org.objectweb.joram.client.jms.TopicSession.
              java.lang.ClassCastException: org.objectweb.joram.client.jms.TopicSession
              at weblogic.ejb20.internal.MDListener$MDMessage.acknowledge(MDListener.j
              ava:722)
              at weblogic.ejb20.internal.MDListener.putListener(MDListener.java:221)
              at weblogic.ejb20.internal.MDListener.execute(MDListener.java:630)
              at weblogic.ejb20.internal.MDListener.run(MDListener.java:669)
              at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkMan
              agerImpl.java:518)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
              >
              ClassPath used to start WLS:
              CLASSPATH=;C:/joram-4_2_0/ship/lib/JCup.jar;C:/joram-4_2_0/ship/lib/joram-client
              .jar;C:/joram-4_2_0/ship/lib/joram-shared.jar;C:/joram-4_2_0/ship/lib/ow_monolog
              .jar;C:\bea9.0\patch_weblogic901\profiles\default\sys_manifest_classpath\weblogi
              c_patch.jar;C:\bea9.0\JDK150~1\lib\tools.jar;C:\bea9.0\WEBLOG~1\server\lib\weblo
              gic_sp.jar;C:\bea9.0\WEBLOG~1\server\lib\weblogic.jar;;C:\bea9.0\WEBLOG~1\common
              \eval\pointbase\lib\pbclient51.jar;C:\bea9.0\WEBLOG~1\server\lib\xqrl.jar;;C:\be
              a9.0\WEBLOG~1\integration\lib\util.jar;
              Thanks.

    I am also having this exact same issue with Weblogic 9.1. It appears that MDListener$MDMessage is trying to cast the foreign TopicSession into some Weblogic Session class and thus failing.
              Has this been addressed by BEA or are there any work arounds?
              Thanks.

  • MDB for Foreign JMS server

    I am trying to access MQ que with Message Driven bean in weblogic 8.1.
              I have defined Foreign JMS server in weblogic pointing to MQ JNDI name.
              I am not sure what to define in "weblogic-ejb-jar.xml" and "ejb-jar.xml" to refer to que connection factory and que.
              Error message that I am getting while deploying is as follows:
              <The Message-Driven EJB: MesssageHandlerBean is unable to connect to the JMS destination: jms.MediaQueue. The Error was:
              [EJB:011010]The JMS destination with the JNDI name: jms.MediaQueue could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination has been deployed.>
              Looks like it weblogic is not able to identify JNDI name that I have defined in foreign server for remote que.
              Please let me know how i can reference foreign JMS server JNDI names.
              Thanks a bunch for help.
              Please find attached configuration files.
              weblogic-ejb-jar.xml
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>
              jms.MediaQueue
              </destination-jndi-name>
              <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
              </initial-context-factory>
              <provider-url>file://localhost/d:/mqm</provider-url>
              <connection-factory-jndi-name>
              jms.MediaQcf
              </connection-factory-jndi-name>
              </message-driven-descriptor>
              <jndi-name>MesssageHandlerBean</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              ejb-jar.xml
              <enterprise-beans>      
              <message-driven>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <ejb-class>com.ejb.MesssageHandlerBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              weblogic "config.xml" for foeign JMS server.
              <ForeignJMSServer ConnectionURL="file://localhost/d:/mqm" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              JNDIProperties="" Name="MQJMS Server" Targets="cgServer">
              <ForeignJMSConnectionFactory LocalJNDIName="jms.MediaQcf"
              Name="MQ JMS Connection Factory" PasswordEncrypted=""
              RemoteJNDIName="jms/lMediaQcf" Username=""/>
              <ForeignJMSDestination LocalJNDIName="jms.MediaQueue"
              Name="MQJMS Destination" RemoteJNDIName="jms/IMediaQueue"/>
              </ForeignJMSServer>
              Message was edited by:
              [email protected]
              Message was edited by:
              [email protected]

    Thanks for going over the problem it is resolved now by changing weblogic-ejb-jar.xml. To point to weblogic initial context factory. Since weblogic has a foreign server defined so MDB is able to read from MQ que.
              Thanks
              Akash
              <weblogic-enterprise-bean> <ejb-name>MesssageHandlerBean</ejb-name> <message-driven-descriptor> <destination-jndi-name>jms.MediaQueue</destination-jndi-name> <initial-context-factory> weblogic.jndi.WLInitialContextFactory</initial-context-factory> <provider-url>t3://localhost:7001</provider-url> <connection-factory-jndi-name>jms.MediaQcf</connection-factory-jndi-name> </message-driven-descriptor> <jndi-name>MesssageHandlerBean</jndi-name> </weblogic-enterprise-bean>

  • Clustered Durable MDB on Clustered JMS

    Hi all
              we have an exception when trying deploy durable MDB in a cluster (WLS 7.0 SP3)
              the cluster have 2 instances. When we depploy Jar on cluster, the first MDB connect successfully, but on the other instances of cluster failed. It's possible couse use the same CLientID?
              This is the exception :
              <7-lug-05 10.54.23 CEST> <Warning> <EJB> <010061> <The Message-Driven EJB: Subsciber2 is unable to connect to the JMS destination: jms/myTopic. The EJB container will automatically attempt to re-establish the connection with the JMS server. This warning may occur during WebLogic Cluster start-up if the JMS destination is located on another server. When the JMS server connection is re-established, the Message-Driven EJB will again receive JMS messages.
              The Error was:
              weblogic.jms.common.InvalidClientIDException: Client id, null, was rejected by the leader
              how can resolve it, using the same client-id?

    Hi all
              we have an exception when trying deploy durable MDB in a cluster (WLS 7.0 SP3)
              the cluster have 2 instances. When we depploy Jar on cluster, the first MDB connect successfully, but on the other instances of cluster failed. It's possible couse use the same CLientID?
              This is the exception :
              <7-lug-05 10.54.23 CEST> <Warning> <EJB> <010061> <The Message-Driven EJB: Subsciber2 is unable to connect to the JMS destination: jms/myTopic. The EJB container will automatically attempt to re-establish the connection with the JMS server. This warning may occur during WebLogic Cluster start-up if the JMS destination is located on another server. When the JMS server connection is re-established, the Message-Driven EJB will again receive JMS messages.
              The Error was:
              weblogic.jms.common.InvalidClientIDException: Client id, null, was rejected by the leader
              how can resolve it, using the same client-id?

  • MDB on Tibco JMS Queue

    Hy, I'm writing about a technical problem with BeaWebLogicServer 6.1 sp5.
    I've a MessageDrivenBean in the BeaWebLogic Container that must be connected to
    a remote Tibco JMS queue.
    When the remote Tibco queue is not protected by a password this works fine (my
    MDB receives the message from Tibco queue), instead if the remote queue is password
    protected, i've this Bea Weblogic server error log:
    <Jun 18, 2004 3:06:06 PM CEST> <Warning> <EJB> <The Message-Driven EJB: BuyResponseConsumer
    is unable to connect to the JMS destination: TELECOMIT.IPBILLING.SVIL.PI.PORTALE.ORDER.BUYRESP.
    Connection failed after 850 attempts. The MDB will attempt to reconnect every
    10 seconds, this log message will repeat every 600 seconds until the condition
    clears.>
    How may I resolve this problem?
    These are my xml descriptors:
    EJB-JAR.XML:
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
    2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <ejb-name>BuyResponseConsumer</ejb-name> <ejb-class>it.telecomitalia.wonderland.ipbilling.buyresponse.BuyResponseConsumer</ejb-class>
    <transaction-type>Container</transaction-type> <acknowledge-mode>auto-acknowledge</acknowledge-mode>
    <message-driven-destination> <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    <security-identity>
    <use-caller-identity id="XXXXX" />
    </security-identity>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <security-role>
    <role-name>XXXXX</role-name>
    </security-role>
    </assembly-descriptor>
    </ejb-jar>
    WEBLOGIC-EJB-JAR.XML
    <?xml version="1.0"?> <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD
    WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean> <ejb-name>BuyResponseConsumer</ejb-name> <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>200</max-beans-in-free-pool> <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
    </pool> <destination-jndi-name>REMOTE-MESSAGE-QUEUE-NAME</destination-jndi-name>
    <initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
    <provider-url>tcp://XXX.XXX.XXX.XXX:YYY</provider-url> <connection-factory-jndi-name>QueueConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor> <jndi-name>BuyResponseConsumer</jndi-name> </weblogic-enterprise-bean>
    <security-role-assignment>
    <role-name>XXXXX</role-name> <principal-name>XXXXX</principal-name> </security-role-assignment>
    </weblogic-ejb-jar>
    Thanks in advance,
    Best Regards
    Demis Gallisto

    Hy, I'm writing about a technical problem with BeaWebLogicServer 6.1 sp5.
    I've a MessageDrivenBean in the BeaWebLogic Container that must be connected to
    a remote Tibco JMS queue.
    When the remote Tibco queue is not protected by a password this works fine (my
    MDB receives the message from Tibco queue), instead if the remote queue is password
    protected, i've this Bea Weblogic server error log:
    <Jun 18, 2004 3:06:06 PM CEST> <Warning> <EJB> <The Message-Driven EJB: BuyResponseConsumer
    is unable to connect to the JMS destination: TELECOMIT.IPBILLING.SVIL.PI.PORTALE.ORDER.BUYRESP.
    Connection failed after 850 attempts. The MDB will attempt to reconnect every
    10 seconds, this log message will repeat every 600 seconds until the condition
    clears.>
    How may I resolve this problem?
    These are my xml descriptors:
    EJB-JAR.XML:
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
    2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <message-driven>
    <ejb-name>BuyResponseConsumer</ejb-name> <ejb-class>it.telecomitalia.wonderland.ipbilling.buyresponse.BuyResponseConsumer</ejb-class>
    <transaction-type>Container</transaction-type> <acknowledge-mode>auto-acknowledge</acknowledge-mode>
    <message-driven-destination> <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    <security-identity>
    <use-caller-identity id="XXXXX" />
    </security-identity>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <security-role>
    <role-name>XXXXX</role-name>
    </security-role>
    </assembly-descriptor>
    </ejb-jar>
    WEBLOGIC-EJB-JAR.XML
    <?xml version="1.0"?> <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD
    WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean> <ejb-name>BuyResponseConsumer</ejb-name> <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>200</max-beans-in-free-pool> <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
    </pool> <destination-jndi-name>REMOTE-MESSAGE-QUEUE-NAME</destination-jndi-name>
    <initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
    <provider-url>tcp://XXX.XXX.XXX.XXX:YYY</provider-url> <connection-factory-jndi-name>QueueConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor> <jndi-name>BuyResponseConsumer</jndi-name> </weblogic-enterprise-bean>
    <security-role-assignment>
    <role-name>XXXXX</role-name> <principal-name>XXXXX</principal-name> </security-role-assignment>
    </weblogic-ejb-jar>
    Thanks in advance,
    Best Regards
    Demis Gallisto

  • MDB,MDB container or JMS adapter stops processing messages from JMS queue

    Hi guys,
    we have created a component using Enterprise Java Beans, let's say a product catalog, deployed it on a Glassfish v2 instance, and connected it to a legacy system using JMS and Sun MQ v4.1 as messaging system. The catalog component thus starts one MDB that listens on a JMS queue, let's say a queue named catalog_business_events_in, and waits for incoming messages, i.e. in our case update events. The problem is, that in general this approach works well, but sometimes the MDBs/JMS adapter stops for some reason fetching and processing messages from the JMS queue. We don't know why - no exceptions, etc.. Seems to be a Glassfish EJB container, JMS adapter or Sun MQ configuration issue. It seems to be that our component is not the problem.
    The messages are compressed/uncompressed by Sun MQ automatically. We actually have 2 Sun MQ instances in clustered mode running to have some kind of failover - no HA cluster, yet. Sun MQ instances are accessed from Glassfish instances running in different Glassfish clusters - so we have a dedicated Sun MQ cluster not a Sun MQ instance per Glassfish instance. Each Glassfish instance is configured such that it knows both Sun MQ instances to allow automatic failover.
    Has someone an idea, why the MDBs/ MDB container/ JMS adapter - stops processing messages? We are kind of puzzled as it happens more often now and apparently when traffic is (very) low not high!
    Thanks for your help.
    Cheers,
    Martin
    Edited by: east1979 on Jan 13, 2009 8:06 AM

    Hi Manoj,
    I have a very similar if not identical issue,
    Error while running realtime jobs that read from JMS tables via JMS MQ adapter:
    15/11/12 09:10:08  JMS GET OPERATION ERROR : TIMEOUT.UNABLE TO RECEIVE RESPONSE FROM THE INVOKED DATA SERVICES SERVICE.ADAPTER OPERA
    TION TO CONTINUE.
    15/11/12 09:10:15  Communication Error. See real time job log for details.
    Dump available:
    https://sapmats.wdf.sap.corp/download/download.cgi?id=5C0KZAHA3RSXBJW3ABLMUUT2P5UUKWO2TM3EJDM5W2HGDZUDID
    Version of DS:14.0.3.273
    Any comments?
    Thansk and kind Regards,
    Kenneth

  • Can MDB make synchronous JMS request

    I'm trying to find what design patterns are appropriate for certain tasks. I am new to Java EE.
    I wanted an MDB to make a JMS request to another MDB, and then listen (for a fixed amount of time) for a response, then finish up and return.
    A) Is this possible
    B) is this appropriate? Is there a better pattern assuming that the initial work arrives via JMS. Assume the second bean is on a different container instance (performance is a big issue)
    In my experiments, the first MDB gets a message, queues it to the second, does a receive with timeout, and gets a null back. Meanwhile the second MDB puts a message on the response queue (I can see it with JMS tools after things calm down).
    The NEXT time I send a message to the queue served by the MDB, it sends another message towards the second bean, then RECEIVES THE MESSAGE LEFT OVER FROM THE FIRST ATTEMPT.
    I suspect I am running afoul of transaction behavior or some such.
    Thoughts?

    Thanks
    The transactional nature is basically a nuisance. I am doing synchronous processing and if the message vanishes, so be it.
    I think my problem is that I need a BMT type MDB, but I don't know how to annotate it. Then I can commit the transaction that caused the bean to activate, and then proceed about my business. Testing implies that the message sent to the second (reflector) bean is not consumed until the original bean returns - which implies, I am guesing, until the original message is committed.
    I am open to other patterns. Basically I am trying to understand how to use MDB's to handle synchronous message traffic (powers higher than me dictate the use of JMS, even though it is designed for async processing).
    By synchronous, I mean:
    send a message
    wait X milliseconds for a response
    if got response, do happy stuff
    else report back timeout
    This is a very common service pattern and servlets do it just fine, but I'm stuck with JMS.
    I am a novice at Java EE (except servlets) so I may be asking the wrong questions. I am about to post a question that simply asks how to annotate a BMT MDB. Maybe that will help.
    Ideas?

  • Best log file format for multivariable non-continous time series

    Databases or TDM(S) files are great, but what if you cannot use a database (due to the type of target) and TDM files are (seems) unsuitable because the data does not come in blocks of continous time series. What is the best file option for data logging?
    Scenario:
    The number of variables you are going to log to a file can change during run-time
    The data is not sampled at fixed intervals (they have been deadband filtered e.g.)
    The files must be compact and fast to search through (i.e. binary files with known positions of the time stamps, channel descriptions etc.)
    Must be supported on compact fieldpoint and RIO controllers
    Right now we use our own custom format for this, but it does not support item no. 1 in the list above (at least not within the same file) and it would be much nicer to have an open format that other software can read as well.
    Any suggestions?
    MTO

    I did some tests of the performance. For a months worth of data (2592000 rows) with 4 channels, I got the following results when reading all of the data:
    1. TDMS file written as blocks of 60 values (1 minute buffers):1,5 seconds.
    2. As test 1, but with a defrag run on the final file: 0,9 seconds
    3. As test 1 & 2, but with all the data written in one operation: 0,51 seconds 
    3. Same data stored in binary file (1 header+2D array): 0,17 seconds.
    So even if I could write everything in 1 go (which I cannot), reading a month of data is 3 times faster with a binary file. The application I have might get a lot of read-requests and will need to read much more than 1 month of data - so the difference is significant (reading a year of data if stored as monthly files would take me 12-18 seconds with TDMS files, but just 2 seconds with a binary file.
    Because I'll be writing different groups of data at different rates, using the  advanced api to just get one (set) og header(s) is not an option.
    TDMS files are very versatile, it is great to be able to dump a new group/channel into the file at any time, and to have a file format that is supported by other applications as well. However, if the number of writes are many and the size of each write is (has to be) small the performance gets a serious hit. In this particular case performance trumphs ease of use so I'll probably  need to rewrite our custom binary format to preallocate chunks for each group (feature request for TDMS? :-) ).
    MTO

Maybe you are looking for

  • How to generate TDS certifcate and CHallan forms

    Hello All, How to generate TDS cerficates and challan forms for Pakistan withholding tax in ECC system, Regards, Ramana

  • Best practice for creating JCO destinations

    Hi All,    I have a project which uses 10 to 12 BAPIs.What is the best practice   1) Create 10 JCO destinations one for each BAPI .   2) Create one JCO and use it for all BAPIs.      Can some one tell me what is the best practice.What are the advanta

  • Batch fetch optimization for lazy collections

    Hi, I feel like this question must have been asked by somebody already but couldn't find any answers in the forum. We're trying to evaluate migrating from Hibernate to KODO JDO. One feature we use extensively from Hibernate is the "batch fetch optimi

  • CS 5.5 production premium and Camera RAW

    hello i just bought adobe creative suite 5.5 production premium when i opened the box i saw 3 stickers of Serial numbers , one for Color Finesse , PPro/AE CS4 32bit and Production Premium I put Production Premium SN when the installer lunched and i t

  • What is a "descriptor type mismatch" occurred?

    I'm using iMagine Photo to export some graphics and I can't for the life of me understand why I keep getting a "iMagine Photo got an error: A descriptor type mismatch occurred". Just what is a descriptor type mismatch?? The script hangs up at the tel