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.

Similar Messages

  • 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

  • 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

  • XI JMS adapter after JMS provider reboot

    Hi All,
    I have problem with XI JMS adapter. Adapter is in a JMS client role and JMS provider is Tibco. After reboot of JMS service in JMS provider, XI JMS adapter loose username and pw in connection and try logon to queue as an anonymous user.
    After deactivation + activation of XI JMS adapter, connection seems to work correctly with uname & pw.
    In JMS adapter we have folloving settings and we are connected straight into queue:
    Transport Protocol = SonicMQ JMS Provider
    General JMS Settings:
    Transactional JMS Session is in use
    Delivery Mode of Message Producer = Persist JMS messages..
    + Queue user & pw
    Error Handling Settings:
    Wait After Message Error(msecs) = 60000
    Wait Before Reconnect(msecs) = 60000
    Does anyone ran into this earlier?
    Thanks in advance.
    -Kimmo

    Hi Saravana,
    It seems that no connection is available to queue. In JMS adapter are you using correct path for finding these provider specifig classes in front of class name. Example: javax.jms.QueueConnectionFactory
    It is also possible that username of JMS provider which you configure to JMS adapter does not have correct rights for reading/writing or accessing to queue.
    We are not using any additional settings for JMS adapter. For server name we have also added protocol which is tcp://<servername> and using transactional JMS session.
    We had this same error when trying connect to queue via JNDI. Then we changed JMS adapter to connect straight to queue and it started to work.

  • Setting JMS Selector as JMS Message ID

    Does anyone knows how to set the JMS Selector as JMS Message id, i tried using JMSMessageID=P<720374.1242857046478.0> but i keep getting exception stating
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "JMSMessageID=P<720374.1242857046478.0>"
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)

    Hi Tom,
    Do you know any general solution for the situation you mentioned in your last post on this thread? Unfortunatelly one of our customers have an architecture which mixes a weblogic 8 domain with a weblogic 10 one. The JMS server is in the weblogic 10 domain but they have an OOB IGW application which runs on weblogic 8 and uses the JMS API of it. The IGW application applies the JMS Message Id model for correlating the request and response messages, but the consumer, on the weblogic 10 side, cannot find the response message because the JMS Message Id changed. The JMS of webloigc 8 - I guess - put an 'N' char after 'ID:' into the msgId and paste the whole id into the correlationId field. But on the weblogic 10 side, the consumer have the original msgId without 'N' and, of course, it doesn't find the response msg.
    So do you have any general solution to convert between these different msgId formats?
    Thanks in advance,
    Andras

  • WebLogic JMS and MQ JMS Mix

              I am writing a bean that reads a message from MQ (using MQJMS) and then write it
              onto a WebLogic JMS ( something lika a bridge). However I don't want to use bridge.
              Question/Problem Statement:
              Once I include mq jms jar files in class path. Would that in conflict with WebLogic
              JMS. How do in my program I make sure that it is using the MQ or WLS JMS implementation.
              I can have InitialContext() setup for mq in File and for WebLogic it is WebLogic's
              Initial Context. Thats is the only thing that I can tell in the program.
              Basically, I am trying to see what will make it ( fully qualified JMS Objects
              or what) decide which implmenatation to use.
              Chris
              

    The WebLogic JMS and MQSeries JMS classes won't conflict. Each JMS provider
              provides different classes that implement the same interfaces, so you can
              have a whole bunch of providers in your classpath and things should be OK.
              Most code that's written to the JMS API (including the code inside WLS that
              receives messages for MDBs) gets the JMS "ConnectionFactory" via JNDI, and
              uses that to create the other objects. (It also has to look up the
              "Destination" objects from JNDI.) When you code to the JMS standard only,
              then the only thing that "tells" your program which provider is being used
              is the ConnectionFactory class that you create or get out of JNDI.
              Below is my usual plug for the white paper that helps explain some of this
              stuff:
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              Look for "Using foreign JMS provdiesr with WLS".
              greg
              "Chris" <[email protected]> wrote in message
              news:[email protected]...
              >
              > I am writing a bean that reads a message from MQ (using MQJMS) and then
              write it
              > onto a WebLogic JMS ( something lika a bridge). However I don't want to
              use bridge.
              >
              > Question/Problem Statement:
              > Once I include mq jms jar files in class path. Would that in conflict with
              WebLogic
              > JMS. How do in my program I make sure that it is using the MQ or WLS JMS
              implementation.
              > I can have InitialContext() setup for mq in File and for WebLogic it is
              WebLogic's
              > Initial Context. Thats is the only thing that I can tell in the program.
              >
              > Basically, I am trying to see what will make it ( fully qualified JMS
              Objects
              > or what) decide which implmenatation to use.
              >
              > Chris
              

  • What is the association between JMS Server and JMS Module in weblogic 10?

    Hi,
    I have a created a ConnectionFactory, Queue, Topic under JMS Modules in Weblogic Server 10 using admin console.
    And I have created a JMS Server and Targetted to the current running server (Admin Server).
    But when I run the Queue Sender program it is unable to LookUP the jndi which I gave for Queue.
    queue = (Queue) initialContext.lookup("jndi_queue");
    Exception:
    javax.naming.NameNotFoundException: Unable to resolve 'jndi_queue'.
    But I configured this jndi name when I create the Queue in JMS Module in Weblogic Server 10.
    How JMS Module and JMS server are associated.
    My Doubt is if i have several JMS Modules and only one JMS Server created then how does the JMS Server identifies which Queue/Topic belongs to which JMS Module????
    Please advice.
    Thanks....

    Hi,
    Once you have JMS servers configured:
    Step 1: Target the JMS configuration module to the cluster that will host the destination, or, if not using clustering, target the module to the individual WL server that will host the JMS server.
    Step 2: Configure a "subdeployment" for the module and set it to reference the exact JMS server(s) that will host the destination. If you're using a distributed desitnation, you can specify multiple JMS servers, if you're using a regular destination, only specify a single destination.
    Step 3: Create a destination resource in the module, and set its subdeployment to the subdeployment you specified in step 1 (the console calls this "advanced targeting"). As a best practice avoid the "default targeting" option for the resource - always choose subdeployment (advanced) targeting.
    For more information, reference the "best practices" chapter of the JMS configuration guide:
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13738/best_practice.htm#CACJCGHG
    I also I highly recommend the JMS chapter of the book "Professional Oracle WebLogic".
    Hope this helps,
    Tom

  • JMS Connection Factory jms/QueueConnectionFactory could not be found

    Hi,
    Previously, i tried to extend weblogic domain "oim_domain" that only configured for OIM, and integrate the OIM with OAM 11g.
    The integration was failed, because all users cannot login to OAM login page (using Active Directory authentication), so i rolled back all configuration by copying MW_HOME i've backed-up before extend the weblogic domain.
    When i start the OIM after rolled back, i've found an error message as follow :
    <May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050009> <Async Service initialization failed because JMS Connection Factory jms/Queu
    eConnectionFactory could not be found. Please check that a JMS Connection Factory with JNDI Name jms/QueueConnectionFactory is present in the Application Ser
    ver.>
    <May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050010> <Error Trace Follows
    javax.naming.NamingException: String index out of range: -1
    at weblogic.jndi.Environment.getContext(Environment.java:308)
    at weblogic.jndi.Environment.getContext(Environment.java:285)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    and this error message :
    <May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : oracle.iam.platform.async.
    AsyncService>
    <May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : {0}
    javax.naming.NamingException: String index out of range: -1
    at weblogic.jndi.Environment.getContext(Environment.java:308)
    at weblogic.jndi.Environment.getContext(Environment.java:285)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    Please help.
    Best Regards,
    Heri

    I have the same error!!! Do you manage to solve it?

  • How to configure global transaction wthin Oracle AS JMS and Oracle JMS

    How to configure global transaction if I take a message from Oracle JMS(AQ) and send it to the Oracle JMS?

    Which version of OC4J are you working on?
    In OC4J 10.1.3.x, presume your OC4J JMS listens messages via MDB which uses a resource adapter as a message listener. The resouce adaper could be the generic JMS adapter deployed in OC4J as the default.
    Resource adapter configuration to support MDBs is included in the standard ra.xml file, which lists the message listener types that the resource adapter supports.
    The MDB developer or deployer configures the MDB in the ejb-jar.xml file, through a <message-driven> element.
    In addition to above, configuration in the ejb-jar.xml file specifies whether an MDB uses transactions.
    1) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, and the <trans-attribute> subelement of <container-transaction> (under the <assembly-descriptor> element) has a value of Required. In this circumstance, if there is an imported transaction, then message delivery and related work are performed within that transaction. If there is no imported transaction, OC4J creates a transaction, and message delivery and related work are performed within that transaction.
    2) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Bean. In this circumstance, the MDB manages the transaction. If a transaction is imported, OC4J will suspend it before the message delivery method call to the MDB, in order to avoid conflict.
    Message delivery is not transacted if the <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, but the <trans-attribute> element has a value of NotSupported. If there is an imported transaction in this circumstance, OC4J will suspend the transaction before the message delivery method call to the MDB.
    Details could be found from OC4J Resource Adapter Guide.

  • Async JMS vs Sync JMS?

    So,
    At work we are using Oracle Advanced Queuing and the JMS apis to peek at the queue. Now, my question is simply is it possible use message selectors with async queue receivers? ie. setMessageListener?
    At work instead of having a node in our cluster subscribe and listen for something relevant we have a thread in an infinite loop constantly polling the database queue using a timed wait. Now when this happens you always end up getting timeout exceptions if there's no work to do. The justification for this was that each node in the cluster filters the messages based using message selectors but surely this is possible using the async APis and setMessageListener.
    My concern is that there is a lot of short term objects being created due to this approach and it sounds like the same thing could be accomplished with a push scheme instead of a pull model.
    Thoughts?

    JMS is really designed for async type operations; set up a subscription of exactly what you need, then let the JMS provider invoke you as and when required.
    So just create a MessageConsumer with the selector inside. Then set the message listener on it and you're done.
    Note that in many providers, such as ActiveMQ (http://activemq.org/) there's not a huge amount of difference of using consumer.setMessageListener() and consumer.receive() - other than the latter mechanism uses an extra thread.

  • JMS Queue Vs JMS replyTo Queue name for Receiver JMS channel.

    HI,
    I am working with receiver JMS adapter and using the protocol WbeSphereMQ JMS provider.
    Here I could not able to figure out the difference between the following parameter.
    Target tab JMS Queue  and Processing tab-JMS replyTo Queue name.
    I tries the find the same in help.sdn.com but here also not able to find correct information .
    for Processing tab -JMS replyTo Queue name Parameter it is written that "Specify the name of the queue to which the responses are to be sent."
    But what is the use of Target tab JMS Queue Parameter. No information is given against this parameter.
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    regards,
    Navneet.

    the initial JMS Queue is the queue you will connect too.
    i guess SAP felt an explanation to that was not required....
    SAP does not even bother to explain it here in the specific link to JMS-Provider-Specific Settings (for Webshpere although it does for SonicMQ!).
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
    I do not use the "ReplyTo" in my current scenarios.

  • JMS receiver to JMS sender Problem

    Hi,
    Please find the scenario
    IDOC 'A'   -
    > PI -
    >JMS(WebSphere)  Receiver
    IDOC 'B'  <-- PI <--
    JMS (WebSphere) Sender
    now here I need to pass the response to some other IDOC.
    I have follwoing 2 questions:
    1. Please let me know adapter module to build this async to sync thru JMS receiver and sender.I am using JMS WebSphere.
    2. JMS receiver is getting request but its not getting successfully as its missing SOAP envelope and SOAP body.
    how to add SOAP envelope and SOAP body in JMS receive? is there any adapter module for this?
    Thanks,
    Bhupesh

    Hello Bhupesh,
    This will do it as XSLT (copies all of your payload into an SOAP Envelope):
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
         <xsl:template match="/">
              <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                   <soap:Body>
                        <xsl:copy-of select="/"/>
                   </soap:Body>
              </soap:Envelope>
         </xsl:template>
    </xsl:stylesheet>
    With best regards
                 Sebastian

  • JMS Type in JMS Receiver

    Experts
    I need to send JMS Type to the JMS Receiver.
    The following UDF was used.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey keyHeader1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSType");
    String a="341";
    conf.put(keyHeader1,a);
    return "";
    Selected ASMA in the Receiver channel. Anything else needs to be done ?
    Thanks and regards,
    J Augastine

    Abhishek
    Modified the UDF.
    Also
    In the  JMS Receiver channel did the following
    - Checked the box for 'Use Adapter Specific Message Attributes'
    - Checked the box for 'Fail if Adapter Specific Message Attributes missing'
    - Checked the box for 'Specify Additional JMS Message Properties'
    - Defined  property in the table and set the Java type
    DCJMSMessageProperty0      String
    Under the Module tab,
    - Added the module AF_Modules/DynamicConfigurationBean in position 1 with module key HEADER
    - Added module configuration as follows:
    Module key HEADER
    Parameter name key.0
    Parameter value write http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    Module key HEADER
    Parameter name value.0
    Parameter value JMS DCJMSMessageProperty0
    What change needs to be done ???

  • Dequeue jms messages using JMS adapter

    Hi,
    I have created jms server, modules, queue from console-messaging-jms modules.
    I am trying to create a soa composite to consume message from this queue.
    In JMS adapter wizard - step 7 - i have selected the destination queue. In this step, what should be the jndi name?
    do i need to update weblogic-ra.xml file?
    Can someone please point me to the steps/doc to create jms adapter to consume message from Oracle Weblogic JMS? (basically configure deployment descriptor)
    Thanks
    Ganesh

    By passing username/password in the outbound connection pool, i was able to connect to the secured weblogic jms..
    This was my config for eis/wls/Queue connection pool..
         AcknowledgeMode     java.lang.String     AUTO_ACKNOWLEDGE
         ConnectionFactoryLocation     java.lang.String     weblogic.jms.XAConnectionFactory
         FactoryProperties     java.lang.String     
         IsTopic     java.lang.Boolean     false
         IsTransacted     java.lang.Boolean     false
         Password     java.lang.String     weblogic123
         Username     java.lang.String     weblogic
    After making the change ( remember to hit enter after modifying password and username fields, else change wont persist) , i saved it with a new deployment plan and updated the deployment with the new plan. Then redeployed the composite containing the jms adapter and I am able to see a consumer created for the queue.

  • JMS Sender SAP JMS Provide large message problem

    Hi,
    we have configured a JMS sender channel to pick up messages from a queue hosted by our SAP JMS provider. Unfortunately a message of about 6 MB size isn't picked up. Smaller messages are picked up.
    Has anybody experienced a problem like this before?
    Kind regards,
    Heiko

    Hey,
    I guess you are using XML messages:
    We had some problems with large XML messages (e.g more the 10MB),
    This is usally cause by memory problems.
    There are some work-around, like increasing the memory usage of the application server.
    The first thing you do is try to understand where the message stacked (in the ABAP/J2EE).
    If this is a memory problem, changing the memory configuration can improve this,
    but be aware that there are hardware limitation (32bit application server can use with one process only 2GB), therefore messages over 100MB probably will not pass trough XI.
    If you have huge files (e.g more than 100MB)
    You must develop a program that would split the large message into several small messages. the program can not be written in the XI, and should be written before the adapter. (you might install and use in this case the conversion agent)
    If you are using a message with csv format (not XML),
    than it is possible to configure the adapter to split every X lines
    (no program need to be written)

Maybe you are looking for

  • AT&T Family Plan Activivation

    Just got a new phone thorugh BestBuy, I'm on a family share plan.  I put in the SIM card, charge up the phone, call the phone number to activate my phone...and when it asks for the wireless phone number (I would assume my cell phone number) I get a m

  • VGA in on iPad1

    I am looking to use my iPad1 as a remote monitor for my GPS/Fishfinder on my boat. It will be mounted indoors and I already have a RAM mount. I need to know if the VGA adapter that Apple sells will accept VGA in? It states VGA out but I assume that i

  • Oracle 9.2 Installation

    Dear friends,           I could able to install Oracle 9.2 by installing orarun.rpm ( which creates and sets environment for oracle user for  installation) but when I try to install by logging  ora<dbsid> which is created during central instance will

  • BPC 10.1 - no HANA support

    Hi, we've a BPC 10.1 sandbox and we're facing several problems #1 no BPC HANA Support we've changed the setting in the global and enviroment Parameters - see attachement But when we try to open a an Excel sheet and do some calculations, we get the fo

  • Use Any IMAP E-mail Account With iPhone?

    Hi, I asked this before, but never got a satisfying answer. On Apple's website it says: "iPhone uses a rich HTML email client that fetches your email in the background from most POP3 or IMAP mail services and displays photos and graphics right along