Jms implementation

Hi;
I search :
1- a jms implementation (source code or a example) for realizing the following fonction :
When a message is posted by a client to the queue, my component extracts the trade details and sends them inside of a mail (via javamail).
- Which are the errors not to make whan one uses JMS (I use Jboss) ?
Regards

Almost every JMS example will show you how to consume messages from a queue. There a some at java.sun.com and you could find plenty more if only you weren't too lazy to use google.
Instead of using javamail use the apache commons simple mail package - it's much easier.
In your case I would worry about getting an repeating exception while sending the email which causes your JMS transaction to rollback. By default the message will be automatically redelivered so you'll be stuck in an infinitely loop of
1. read message
2. process message
3. send email <--- EXCEPTION
4. rollback
5. goto 1

Similar Messages

  • Oracle 8i vs 9i JMS implementation?

    Hi,
    We are thinking about using 9i instead of 8i.
    We know that 8i is not 100% JMS compliant but the question is - is 9i?
    In short, does it support the onMessage method, more than one session per connection and JNDI lookup? Oh, and do you still need to downcast to subscribe to topics?
    If anyone out there knows the answers you could save us some time and effort.
    Any other comments would also be welcome.
    Many Thanks
    Kevin.

    Hi,
    I was wondering what you have learned about this issue, Oracle 9i JMS implementation. My specifics are that I am trying to learn whether or not Message driven beans are supported, and if not, what the recommended method is for managing many Async message listeners to a topic. I think that 9i only supports J2EE 1.1 which would imply no MDB support.
    Thanks,
    Peter

  • Difference between EDN-DB and EDN-JMS implementation

    Experts,
    Looking for a difference between EDN-DB and EDN-JMS implementation. We have EDN implementation going on, where multiple source systems will be publishing business events. Events can be published using SOA Suite or JMS Bridge from AQ and MQ. In this scenario which implementation approach is suited better ?

    Oracle Apps Adapter can be used for many other products other than E-Business Suite (JD Edwards E1, OTM, and others).  The apps adapter was mainly used in ERP systems and was strong when you needed have added functionality other than just polling a db for a status / calling a stored procedure...  It could connect out to other business services, xml gateways and so-on.
    From a technical aspect / development perspective I always thought of that the Oracle Apps Adapter simplifies the development but, may is not flexible. The App Adapter's strength is the services that are difficult to integrate with (business services, xml gateway). If you need to hook in to these types of services, use the APPS adapter. (Again like it is named the "Apps Adapter" its for interacting w/ other applications to enable real-time processing / functionality. 
    That being said the dbAdapter can be very powerful but, like it is named is database focused (to poll some table to know when to kick off other logic and enable real-time functionality through database interaction.
    Looking at the Oracle 12C Roadmap I had heard that there is more planned for the Oracle Apps Adapter moving forward, especially as Anuj said in the "Financial Apps" side of the isle at Oracle. Who knows what is real and what isn't though =]
    Hope this helps!
    -Luke

  • Does the Weblogic JMS implementation use the Time-To-Live values?

              I am trying to send a message to a Queue with a time-to-live. The only way that
              I can get this to work is by going into the console, and setting a default value
              on either the Queue or the connection factory. But this is not the behavior I
              want. I would like to do this programmatically instead so it can be property
              driven and a Sys Admin can change it easily.
              I downloaded the JMS spec and saw that you are supposed to set the time to live
              when calling the MessageProducer's send message. I did this, but it doesn't work.
              Is anybody else having this problem? Does Weblogic's JMS implementation just
              ignore this value? Or do I have my Queues and other JMS components set up incorrectly?
              P.S. All of my time-to-live overrides are set to -1 in the console, so my time
              to live set in the program should be respected.
              

              Tom,
              I was able to track it down to a programming error. Thanks for your help.
              Dan
              Tom Barnes <[email protected]> wrote:
              >Hi Daniel,
              >
              >Yes, client-specified message expiration works. I suspect
              >a programming error. First take a look and make sure that you are
              >not making the common mistake of trying to set the value
              >directly on the message, rather than on the producer - as per
              >the JMS spec and JMS javadoc, setting this value directly
              >on message will have no effect as the producer's value
              >will always override it. If this isn't the case,
              >please post your code and I'll take a look.
              >
              >FYI Note that all management fields can be programmatically
              >set as well. Since you want programmatic administrative
              >control, this means that you have the option of
              >programmatically configuring the destination's time-to-live
              >override field if you so wish.
              >
              >Tom
              >
              >Daniel Livesay wrote:
              >
              >> I am trying to send a message to a Queue with a time-to-live. The
              >only way that
              >> I can get this to work is by going into the console, and setting a
              >default value
              >> on either the Queue or the connection factory. But this is not the
              >behavior I
              >> want. I would like to do this programmatically instead so it can be
              >property
              >> driven and a Sys Admin can change it easily.
              >>
              >> I downloaded the JMS spec and saw that you are supposed to set the
              >time to live
              >> when calling the MessageProducer's send message. I did this, but it
              >doesn't work.
              >> Is anybody else having this problem? Does Weblogic's JMS implementation
              >just
              >> ignore this value? Or do I have my Queues and other JMS components
              >set up incorrectly?
              >>
              >> P.S. All of my time-to-live overrides are set to -1 in the console,
              >so my time
              >> to live set in the program should be respected.
              >
              

  • Regarding jms implementation that comes with reference j2ee server from sun

    I have a message bean that is trying to read message off the queue, do something, and put a message on to other queue.
    The problem: I am loosing a message.
    I have tried both the container managed as well as bean managed transaction.
    Is there any bug with the reference JMS server? I am using the SimpleQueueSender that comes with the jms tutorial from sun to send message in a persisted mode. I am running the J2EE server that comes from SUN.
    I will post the code if someone is willing to take a sincere look.
    Thanks
    Aman

    I can tell you one thing about JMS, I have websphere MQ Series, Even the product like MQ from IBM have limitation when using 2 phase commit(), it supports 2 PC only when websphere and MQ Series are installed on the same box, So i would not be surprised if there is a bug in reference JMS implementation and you are losing messages even though in transaction. Are you using distributed transaction.

  • License for jms  implementation

    Hi, I am planning to implement a light-weight JMS implementation to suit my work. I want to know whom to contact for getting a go-ahead regarding the license for specification. Could anyone from Sun team if they have seen this post respond OR anyone who knows the process to be followed.
    Thanks
    ~Venkat

    Hi v.
    I do not think u need any license for the specification.

  • IS JMS implementation available for BMQ?

    Hi,
              I have an exposure to BMQ middleware and we have been accessing this thru the C libraries and now since we are moving to java, i would like to know if there is JMS support for BMQ and if so where can i find/download the JMS implementation
              

    Hi Dheepak,
              I think you are referring to MessageQ. There is a pure
              java client, although it is not a JMS client. I'm not sure
              how it is packaged or licensed. Contact BEA sales and they
              should be able to track it down for you. If they have trouble,
              feel free to give them my name.
              Tom, BEA
              Dheepak wrote:
              > Hi,
              > I have an exposure to BMQ middleware and we have been accessing this thru the C libraries and now since we are moving to java, i would like to know if there is JMS support for BMQ and if so where can i find/download the JMS implementation
              

  • Regarding step by step JMS  implementation

    HI
    i am working on jms first time and i am using websphere 6.0 and jms 1.1.
    i use this link to make a sample application ..
    http://www-128.ibm.com/developerworks/websphere/library/techarticles/0407_yu/0407_yu.html
    well here we will not use websphere MQ series to handle messages. we need to handle this all messanges manually.So Plz let me know about the process to implement jms 1.1 in WAS 6.0 without using webphere MQ series.I m using Embedded messaging insteead of websphere MQ Series.
    so here when i run this applicaiton t gives this error:-
    *** Starting the server ***
    ************ Start Display Current Environment ************
    WebSphere Platform 5.1 [BASE 5.1.1 a0426.01] [JDK 1.4.2 cn1420-20040626] running with process name localhost\localhost\server1 and process id 2628
    Host Operating System is Windows XP, version 5.1
    Java version = J2RE 1.4.2 IBM Windows 32 build cn1420-20040626 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM
    was.install.root = C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51
    user.install.root = C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51
    Java Home = C:\Program Files\IBM\Rational\SDP\6.0\runtimes\base_v51\java\jre
    ws.ext.dirs = C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/java/lib;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/classes;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/classes;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib/ext;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/web/help;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime;C:/Program Files/IBM/SQLLIB/java/db2java.zip;C:/Program Files/IBM/Rational/SDP/6.0/rwd/eclipse/plugins/com.ibm.etools.webservice.consumption.soap_6.0.0/runtime/worf.jar
    Classpath = C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/properties;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/properties;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib/bootstrap.jar;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib/j2ee.jar;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib/lmproxy.jar;C:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v51/lib/urlprotocols.jar;C:/Program Files/IBM/Rational/SDP/6.0/rwd/eclipse/plugins/com.ibm.etools.websphere.tools.common_6.0.0/wteServers.jar;C:/Program Files/IBM/Rational/SDP/6.0/rwd/eclipse/plugins/com.ibm.etools.websphere.tools.common_6.0.0/wasToolsCommon.jar
    Java Library path = C:\Program Files\IBM\Rational\SDP\6.0\runtimes\base_v51\bin;C:\Program Files\IBM\Rational\SDP\6.0\runtimes\base_v51\java/bin;C:\Program Files\IBM\Rational\SDP\6.0\runtimes\base_v51\java/jre/bin;C:\Program Files\IBM\Rational\SDP\6.0\eclipse\jre\bin;.;C:\Program Files\IBM\Rational\SDP\6.0\eclipse\jre\bin;C:\Program Files\IBM\WebSphere MQ\Java\lib;C:\Program Files\NCR\Teradata Client\DevKit\;C:\Program Files\NCR\Teradata Client\WinCLI-Runtime\;DevKit\;C:\Program Files\NCR\Teradata Client\Bin;C:\WINDOWS\system32\;C:\WINDOWS\system32\;C:\Program Files\NCR\Teradata Client\cliv2\;C:\Program Files\NCR\Common Files\Shared ICU Libraries for Teradata\lib;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\j2sdk1.4.1_06\bin;.;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\Java\bin;C:\Program Files\IBM\WebSphere MQ\WEMPS\bin;C:\Program Files\IBM\Rational\SDP\6.0\runtimes\base_v51\bin;C:\Sun\AppServer\bin;C:\Program Files\SSH Communications Security\SSH Secure Shell
    ************* End Display Current Environment *************
    [2/21/08 0:37:32:500 IST] 329af89b ManagerAdmin I TRAS0017I: The startup trace state is *=all=disabled.
    [2/21/08 0:37:33:062 IST] 329af89b AdminInitiali A ADMN0015I: AdminService initialized
    [2/21/08 0:37:33:531 IST] 329af89b ConfigInfoBui A NMSV0819I: No name server custom properties were found.
    [2/21/08 0:37:33:688 IST] 329af89b Configuration A SECJ0215I: Successfully set JAAS login provider configuration class to com.ibm.ws.security.auth.login.Configuration.
    [2/21/08 0:37:33:750 IST] 329af89b SecurityDM I SECJ0231I: The Security component's FFDC Diagnostic Module com.ibm.ws.security.core.SecurityDM registered successfully: true.
    [2/21/08 0:37:33:922 IST] 329af89b SecurityCompo I SECJ0309I: Java 2 Security is disabled.
    [2/21/08 0:37:33:922 IST] 329af89b SecurityCompo I SECJ0212I: WCCM JAAS configuration information successfully pushed to login provider class.
    [2/21/08 0:37:33:938 IST] 329af89b SecurityCompo I SECJ0240I: Security service initialization completed successfully
    [2/21/08 0:37:33:938 IST] 329af89b JMSRegistrati A MSGS0602I: WebSphere Embedded Messaging Client only has been installed
    [2/21/08 0:37:36:188 IST] 329af89b JMSEmbeddedPr A MSGS0050I: Starting the Queue Manager
    [2/21/08 0:37:41:672 IST] 329af89b JMSEmbeddedPr A MSGS0051I: Queue Manager open for business
    [2/21/08 0:37:41:688 IST] 329af89b JMSEmbeddedPr A MSGS0052I: Starting the Broker
    [2/21/08 0:37:42:156 IST] 5e48f89a BrokerDFEThre E MSGS0201E: Unable to start the Broker because WebSphere Embedded Messaging Server support not been installed
    [2/21/08 0:40:42:172 IST] 329af89b BrokerManager E MSGS0252E: The Broker has terminated unexpectedly
    [2/21/08 0:40:42:188 IST] 329af89b JMSService E MSGS0001E: Starting the JMS Server failed with exception: java.lang.Exception: MSGS0252E: **The Broker has terminated unexpectedly**
         at com.ibm.ws.messaging.BrokerManager.pingDFE(BrokerManager.java:344)
         at com.ibm.ws.messaging.BrokerManager.startFlows(BrokerManager.java:808)
         at com.ibm.ws.messaging.BrokerManager.startBroker(BrokerManager.java:251)
         at com.ibm.ws.messaging.JMSEmbeddedProviderImpl.start(JMSEmbeddedProviderImpl.java:194)
         at com.ibm.ws.messaging.JMSService.start(JMSService.java:288)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
         at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
         at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
         at java.lang.reflect.Method.invoke(Method.java:391)
         at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189)
         at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:92)
    [2/21/08 0:40:42:266 IST] 329af89b ContainerImpl E WSVR0501E: Error creating component null [class com.ibm.ws.messaging.JMSService]
    com.ibm.ws.exception.RuntimeWarning: MSGS0001E: Starting the JMS Server failed with exception: java.lang.Exception: MSGS0252E: The Broker has terminated unexpectedly
         at com.ibm.ws.messaging.JMSService.start(JMSService.java:295)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
         at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
         at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
         at java.lang.reflect.Method.invoke(Method.java:391)
         at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189)
         at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:92)
    [2/21/08 0:40:43:016 IST] 329af89b ResourceMgrIm I WSVR0049I: Binding QCF as QCF
    [2/21/08 0:40:43:141 IST] 329af89b ResourceMgrIm I WSVR0049I: Binding PointToPointQ as Q
    [2/21/08 0:40:43:438 IST] 329af89b CacheServiceI I DYNA0048I: WebSphere Dynamic Cache initialized successfully.
    [2/21/08 0:40:44:969 IST] 329af89b JMXSoapAdapte A ADMC0013I: SOAP connector available at port 8880
    [2/21/08 0:40:44:984 IST] 329af89b SecurityCompo I SECJ0243I: Security service started successfully
    [2/21/08 0:40:44:984 IST] 329af89b SecurityCompo I SECJ0210I: Security enabled false
    [2/21/08 0:40:45:391 IST] 329af89b ApplicationMg A WSVR0200I: Starting application: IBMUTC
    [2/21/08 0:40:45:453 IST] 329af89b WebContainer A SRVE0161I: IBM WebSphere Application Server - Web Container. Copyright IBM Corp. 1998-2002
    [2/21/08 0:40:45:469 IST] 329af89b WebContainer A SRVE0162I: Servlet Specification Level: 2.3
    [2/21/08 0:40:45:469 IST] 329af89b WebContainer A SRVE0163I: Supported JSP Specification Level: 1.2
    [2/21/08 0:40:45:594 IST] 329af89b WebContainer A SRVE0169I: Loading Web Module: Universal Test Client.
    [2/21/08 0:40:45:781 IST] 329af89b WebGroup I SRVE0180I: [Universal Test Client] [UTC] [Servlet.LOG]: JSP 1.2 Processor: init
    [2/21/08 0:40:45:844 IST] 329af89b WebGroup I SRVE0180I: [Universal Test Client] [UTC] [Servlet.LOG]: SimpleFileServlet: init
    [2/21/08 0:40:45:891 IST] 329af89b ApplicationMg A WSVR0221I: Application started: IBMUTC
    [2/21/08 0:40:45:906 IST] 329af89b HttpTransport A SRVE0171I: Transport http is listening on port 9,080.
    [2/21/08 0:40:48:000 IST] 329af89b HttpTransport A SRVE0171I: Transport https is listening on port 9,443.
    [2/21/08 0:40:48:125 IST] 329af89b RMIConnectorC A ADMC0026I: RMI Connector available at port 2809
    [2/21/08 0:40:48:172 IST] 329af89b WsServer A WSVR0002I: Server server1 open for e-business, problems occurred during startup

    Hi,
    First you receive the functional Spec or technical spec from the onsite.
    If it is a Technical spec it is easy for the developer to write code.
    But in the case of a Functional spec , take the help of a Fun guy and prepare the tech spec first then start coding.
    After preparing the tech spec, it has to be reviewed along with your PL, Testing person.
    then clarify the doubt's/logic if any and start the coding.
    Once the coding is over, then it has to be tested/checked by a Senior of your team and if any mistakes are there he will tell you and you will correct them, it is called Code walk through.
    Then You prepare a Unit testing Doc (UTD) for that with some test cases.
    After that give that object to testing people, they will test it  based on their rules and conditions and once it is over, they will send it to quality and the object is delivered to client from quality.
    reward if useful
    regards,
    ANJI

  • JMS implementation of P2P protocol: need for statefulness!

    Hello!
    I have to implement the Chord peer-to-peer protocol using JMS. I'm thinking of using a message-driven bean per node in order to manage asynchronous communication (and I've been able to make this work).
    The problem is that the protocol requires that every node keep some information about its neighbours, about the data it manages, etc.
    This means I have to keep a state of the node, which doesn't seem to be possible if I use EJBs.
    I think that a possible solution might be to couple the message-driven JMS bean with a session bean, and instruct the message-driven been to forward to the session bean the messages it receives. This should allow the session bean to manage the state of the node, while leaving the communication stuff to the message-driven bean.
    My doubts are:
    - How can the message-driven bean find and contact the associated session bean?
    - Is this design practical?
    Thank you!

    You are accessing the runtime mbean of a JMS destination. The JNID name of a destination is not available on the runtime destination MBean.
    If you are using jms-system-resource to deploy your JMS module, you should be able to access the deployment mbean of the destination. The starting MBean for JMS is JMSSystemResourceMBean in this case.

  • Siebel JMS Implementation

    This is my first implementation of Siebel and SOA Integration using JMS Q. The JMS Q has been created on the SOA side. I am trying to access the same from the Siebel side using "EAI JMS Transport" BS (send method).
    My question is:
    Do I need to create the JMS Q on the Siebel DB or my approach to access the JMS Q configured on SOA side is a viable option ?
    OR
    Let me put my question the other way: Is it possible to access external queue (In my case queue is based in Oracle SOA weblogic) from Siebel ?
    Please help.
    Thanks
    Edited by: 907545 on Jun 13, 2012 12:27 AM

    Hi,
    Yes, you have to access an external JMS queue from Siebel. There is no way to have the JMS server inside Siebel DB.
    So you have setting up some configuration :
    - define Enterprise profiles JMSSubsys and JVMSubSys. This last one define JAVA parameters : classpath for jars files, the jdk path and JVM options.
    - on the server, you have to create a directory (watch out of the folder name length) having jndi.properties files, Siebel and activemq .jar files
    Correctly define jndi.properties is the trickiest part.
    For that you can use EAI JMS Transport BS from thin client BS simulator to test and finalize the configuration.
    There is several methods for testing each level : CheckClasspath, CheckJNDIContext, CheckJNDIObjects,CheckJMSServer.
    Refere to documentation for more details : http://docs.oracle.com/cd/B40099_02/books/EAI3/EAI3_EAIJMSTrans15.html#wp1035934
    If you want to automatically send or receive JMS messages, you will have to activate and setup JMSReceiver component.
    The message processing will be done by a BS or a Workflow process.
    Regards,
    David

  • Jms implementations available in CAPS and their differences

    hi *,
    is there any source where i can find aggregated information about what jms implenmentations are shipped with CAPS and how their architecture is ?
    e.g. which version of GRID is shipped with CAPS , what processes are needed , how does jms server store data and lots more ...... i am especially interested in differences between jms grid and sun java system message qeueu. e.g. differences in clustering.
    regards chris

    As far as Tibco JMS goes, if Tibco has made available a JCA 1.5 compliant resource adapter then you can just import it and use JNDI to get a connection from it. Do make sure to implement the Synchronization interface if you want to hook up with the Integration Server's Transaction Manager.
    Any issues, there's good info available on http://blogs.sun.com/fkieviet/entry/using_resource_adapters_outside_of as well as here https://jmsjca.dev.java.net/
    As far as the different MQ implementations go, you'd really need to check with a Sun representative as you do want to implement something that is future compliant as well as suits your needs.
    JMS Grid for example is very strong in the area of non-Persistent non-XA Topic broadcasting, but less so in the area of Queues... SunMQ has very interesting HA features and can run on top of an Oracle RAC. As Johan says the SunMQ version packaged by default with JCAPS is a bit eerie, support of it is unclear and it's better to start off with version 4.
    STCMS appears to be undergoing many enhancements which have been piling up and in 5.2.0 it is possible again to run multiple instance per domain, and possibly a multiplexer way of communicating between the server and the JMS Clients is to be implemented so that it can run behind an IP loadbalancer (allowing for a HA "Queue farm"). Of these three STCMS has experienced the highest level of battle-testing, so do be sure to prioritize your requirements.
    Then of course there's the roadmap from 5.2.0 onwards where in version 6 a converged Message Queue is foreseen...
    Hope this helps, or, at least, is confusing enough..
    8 )
    Take care,
    Paul

  • ClassCastException when calling a JMS implemented web service

    Hi,
    I published a Message Driven Bean EJB to WebService using WebLogic 8.1 and servicegen.
    When I try to call it using the automatic generated Web interface, I receive the
    following ClassCastException.
    Do you see what is going wrong?
    Is it a bug?
    Thanks for your help
    Charles
    ClassCastException :
    javax.xml.rpc.soap.SOAPFaultException: Exception during processing: java.lang.ClassCastException
    (see Fault Detail for stacktrace) at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:270)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:131)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:439)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:405)
    at weblogic.webservice.server.servlet.ServletBase.invokeMultiOutput(ServletBase.java:322)
    at weblogic.webservice.server.servlet.ServletBase.invokeOperation(ServletBase.java:296)
    at weblogic.webservice.server.servlet.WebServiceServlet.invokeOperation(WebServiceServlet.java:312)
    at weblogic.webservice.server.servlet.ServletBase.handleGet(ServletBase.java:253)
    at weblogic.webservice.server.servlet.ServletBase.doGet(ServletBase.java:138)
    at weblogic.webservice.server.servlet.WebServiceServlet.doGet(WebServiceServlet.java:232)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6291)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97) at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3575)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2573)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    I use this and command :
    <servicegen
    destEar="${WAS_APPLICATIONS}/${version}${ear_ws_file}"
    contextURI="${version}WebServices" >
    <service
    JMSDestination="mq_receive"
    JMSAction="send"
    JMSDestinationType="queue"
    JMSConnectionFactory="mq_QCF"
    JMSOperationName="${JMSOperationName}"
    JMSMessageType="${JMSMessageType}"
    generateTypes="True"
    targetNamespace="http://www.francetelecom.com/cristal/${version}Webservices"
    serviceName="${version}"
    serviceURI="/${version}"
    expandMethods="True">
    </service>
    <classpath>
    <pathelement location="${build}" />
    </classpath>
    <classpath refid="classpath" />
    </servicegen>
    My MDB is
    public void ejbCreate () throws CreateException {
         LoggerConfigurator.configure();
    log.debug("called");
    public void onMessage(Message msg)
    log.debug("called");
              try
                   ObjectMessage objMessage = (ObjectMessage)msg;
                   String text = (String)objMessage.getObject();
                   home = lookupHome();
                   Toupper client = (Toupper)
                        PortableRemoteObject.narrow(home.create(), Toupper.class);
                   text=client.toupper(text);               
                   log.error("Toupper="+text);
                   startJMS();
                   sendJMS(text);
                   client.remove();
              } catch (Exception e)
                   e.printStackTrace();

    "mq_receive" is define as a Local JNDI Name of a Foreign JMSDestination.
    And it works when I use it with only the MDB (without WebService)
    Good try,
    Thanks
    Charles
    "Neal Yin" <[email protected]> wrote:
    My best guess is that JNDI name "mq_receive" is not bound as JMS queue.
    Thanks
    -Neal
    "Charles Desmoulins" <[email protected]> wrote in
    message
    news:[email protected]...
    Ok Neal,
    This is the result :
    <!-------------------- REQUEST ---------------->
    URL :
    http://localhost:7001/messageToupperWebServices/messageToupper
    Headers :
    SOAPAction: [""]
    Content-Type: [text/xml]
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoaporg/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"><env:Header/><env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><m:toupper
    xmlns:m="http://www.francetelecom.com/cristal/messageToupperWebservices"><pa
    ram
    xsi:type="xsd:string">sAmple string totransform</param></m:toupper></env:Body></env:Envelope>
    <!-------------------- END REQUEST ------------>
    <!-------------------- RESPONSE --------------->
    URL :
    http://localhost:7001/messageToupperWebServices/messageToupper
    Headers :
    Date=Fri, 11 Jul 2003 14:29:33 GMT
    Server=WebLogic WebLogic Server 8.1 Thu Mar 20 23:06:05 PST 2003246620
    Content-Length=2522
    Content-Type=text/xml
    Envelope :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"><env:Header/><env:Body><env:Fau
    lt><faultcode>env:Server</faultcode><faultstring>Exception
    during processing: java.lang.ClassCastException (see Fault Detail forstacktrace)</faultstring><detail><bea_fault:stacktrace
    >
    xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0"/>j
    ava.lang.ClassCastException
    atweblogic.webservice.component.jms.JMSSendInvocationHandler.invoke(JMSSendInv
    ocationHandler.java:131)
    atweblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.j
    ava:81)
    atweblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.jav
    a:125)
    atweblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:513)
    atweblogic.webservice.server.Dispatcher.process(Dispatcher.java:150)
    atweblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:125)
    atweblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:74)
    atweblogic.webservice.server.WebServiceManager.dispatch(WebServiceManager.java
    :98)
    atweblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebSer
    viceServlet.java:274)
    atweblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:393)
    atweblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServle
    t.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
    tStubImpl.java:1053)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :387)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :305)
    atweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
    ebAppServletContext.java:6291)
    atweblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
    t.java:317)
    atweblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:3575)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2573)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
    </detail></env:Fault></env:Body></env:Envelope>
    <!-------------------- END RESPONSE ----------->
    An exception Exception during processing: java.lang.ClassCastException(see Fault
    Detail for stacktrace)
    javax.xml.rpc.soap.SOAPFaultException: Exception during processing:java.lang.ClassCastException
    (see Fault Detail for stacktrace)
    atweblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:270)
    atweblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:131
    atweblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:439)
    atweblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:425)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:536)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:389)
    at ft.services.messageToupper.WSClient.main(WSClient.java:60)

  • JMS implementation in OSB

    Hi,
    I am beginner in OSB . I am trying to create a sample application that uses JMS queue. I went through documentation on OSB and Weblogic, however couldn't create it.
    Could you pls help in creating a sample application that uses JMS queue or point me to an URL where such sample is available?
    Thanks,
    Vijay

    Yes there are but not as straight forward as using JCA transport with AQ adapter in OSB.
    JMS-JMS integration: JMSQ OC4J--->Foreign JMS Q (Weblogic)---->JMS Transport inbound.
    JMS-JMS integration: AQ JMS interface --->Foreign JMS Q (Weblogic)---->JMS Transport inbound.
    BPEL-OSB integration: JMSQ OC4J--->BPEL--->Invoke OSB Proxy--->Your custom logic
    JMS
    Normally application are designed other way around. OSB interfaces with AQ and then routes to other process/transport as required.
    Endpoint A ----OSB --------Endpoint B It makes more sense to use OSB for all end points (connectivity) where it adds maximum value in routing to various end points
    I'm sure you have valid reason to decide using OSB like AQ-->OC4J JMS-->OSB rather than AQ-->OSB--->Endpoint . Based on your architecture there are other integration options like JMS Bridge etc
    Thanks
    Manoj
    Edited by: mneelapu on Dec 24, 2009 2:52 PM

  • JMS Implementation In Tomcat.

    Hi all
    I am new to JMS please excuse if this question is already answered.
    1.I have a Jmeter(JMS Publisher) Client, i need to send a message through JMS publisher.
    2.I have tomcat installed on my local machine.
    My task is to send the message through Jmeter and get the response from tomcat server.
    Changes Made at the Jmeter End
    1.Copied JMS.Jar and Incubator-activeMQ-4-0-2.jar to the lib directory.
    Please let me know wat should be installed in the server end
    Wat to deploy in the server side.

    Tomcat is just a web container (i.e. it doesn't directly support JMS, only servlets and JSPs) so you can't do this without some effort. In summary you need to
    1. Choose a stand-alone JMS provider such as ActiveMQ
    2. Configure Tomcat's read only JNDI provider to enable your application and JMeter to find the queues
    There's docs on the Tomcat website (http://tomcat.apache.org/) to help you do this.

  • JMS implementation documentation

    Hi,
    Is there doumentation available on JMS-based MDBs? We need external clients to receive the JMS messages.
    I have seen the howto article on the JMS. This is how to use JMS-based MDBs within the app server.
    I need to communicate to external clients.
    Please do let me know where I can find info on this.
    thanks a lot
    Padmaja Ragavendra

    Please take a look at the Services Guide at http://otn.oracle.com/tech/java/oc4j/pdf/oc4j_j2ee_svcguide_r2.pdf and look for the JMS chapter.
    It has documentation how to configure external JMS providers like AQ, SonicMQ, etc.
    regards
    Debu Panda
    Oracle

Maybe you are looking for