Oracle jms and glassfish

Problem: glassfish (J2EE Sun Java Aplication Server) have to receive JMS messages about updates of the table in oracle
Please help me configure oracle services and aplication server to solve this problem!

Any specific reasons you want to use Glassfish and not Oracle Application Server? Oracle ships a Generic JMS Resource Adapter that you may use with Glassfish
regards
Debu
Author EJB3 In Action (http://manning.com/panda)
http://debupanda.com

Similar Messages

  • Any kind of integration experience with Weblogic JMS and Oracle AQ?

    Hi,
    In my company I work with java developers who believe in some kind of "holly" database independence I don't understand and as a result my life as a database developer is hell on earth.. Yesterday we again started to discuss, this time where to log, they believe database is slow and prefer logging to filesystem, after some hours finally I could convince them for some operational and reporting needs to use the database and will do this in an asyncronous way whiich they won't get slow. After all I believe the reason for a database is data, this is the place where data lives, and with the correct desing and implementation logging to database would perform better.
    I love Oracle features, and know that we paid a lot for this software, so today I started investigating this promised solution. And quickly I found AQ and JMS topics in the documentation :)
    After this introduction here is my problem; my company use BEA Weblogic as application server and the java guys want AQ to automatically (but of course with some delay) take their JMS log requests into database tables. Does any one have similar application experience, or any kind of integration experience with Weblogic JMS and Oracle AQ?
    Any comments, references, documentation, sample code, url will be most welcomed :)
    Thank you very much!
    Tonguc
    [email protected]
    References I found upto now;
    Oracle® Streams Advanced Queuing Java API Reference 10g Release 2 (10.2) http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14291/toc.htm
    (Packages; javax.jms & oracle.jms)
    Oracle® Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14257/toc.htm
    Part IV
    Using Oracle JMS and Oracle Streams AQPart V describes how to use Oracle JMS and Oracle Streams Advanced Queuing (AQ).
    Chapter 11, "Introducing Oracle JMS"
    Chapter 12, "Oracle JMS Basic Operations"
    Chapter 13, "Oracle JMS Point-to-Point"
    Chapter 14, "Oracle JMS Publish/Subscribe"
    Chapter 15, "Oracle JMS Shared Interfaces"
    Chapter 16, "Oracle JMS Types Examples"
    A Sample Code from Otn
    http://www.oracle.com/technology/sample_code/tech/java/web_services/jmsws/NewsQueueEJB.java.html

    I wouldn't go as far to say Oracle AQ is out-dated today. However, it is indeed a proprietary technology that did not found much main-stream adoption in the earlier years after its introduction. The advent of JMS made it somewhat more useful (or should I say intriguing, because more people are trying to tie it together with other J2EE technologies), but the Oracle's JMS wrapper classes in aqapi.jar were not feature complete for a long while, so using it outside Oracle's application server was painful, if not impossible. I do agree that the info at the dev2dev's JMS newsgroup or in this forum is highly fragmented, as neither Oracle nor BEA provides an official solution to integrate AQ with WebLogic, so people like us have to learn the technology through experimentation and in a piecemeal fashion.
    3 years ago I was literally "playing around" - we had a polling mechanism set up to use triggers to write Oracle data changes into an event table, and had a Java-based daemon to scan that table and publish events as JMS messages to the WebLogic JMS server. This continues to work reliably till today, but I was looking for a solution that has few parts - I wanted to hook up my WebLogic MDB directly to AQ as a foreign JMS provider. Although I was able to get it to work (including XA), there were a few hoops I had to jump through, such as decompiling the Oracle AQjms classes to make them bind to the WebLogic JNDI tree.
    One year after that Diptanshu Parui took what I did a giant step further - he extended the Oracle AQjms classes to allow them to be bound to the WebLogic JNDI tree naturally, and he figured out how to use WebLogic JMS messging bridge to re-send single-threaded AQ JMS messages to clustered JMS queues, which allow concurrent message assumption by multiple instances of MDB's. My impression is that he is using that setup in a production environment.
    I am sure you are aware of it but I would like to make it clear - in order to use AQ as a foreign JMS provider to WebLogic-hosted MDB's, you don't need to update your database to Oracle 10g - Oracle 8i is good enough (although I recommend at least 9i Release 2). It is not the database engine, but rather the aqapi.jar JMS wrapper on top of AQ that matters. I do recommend that you use aqapi.jar from Oracle Application Server 10.0.3 or up for better XA support, among other things. Again, you don't have to replace WebLogic with Oracle AS - you only need a single jar file from it and put it in your WebLogic's classpath. However, I don't know what this means from a licensing point of view if you ever go to production - do you have to pay the full price of OracleAS or OC4J just to use the aqapi.jar?
    In the coming days I will test the latest aqapi.jar to see how much progress Oracle has made in terms of making their J2EE products more spec-compliant :-).
    Hope the above gives you a different perspective.
    Eric

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

  • XMLType and Oracle JMS compatibility

    We need to receive messages from a Oracle-AQ queue with paylod_type XMLType,
    and we would like manage this with JMS and MDB using OC4J 10.1.3.
    Somebody know if is it possible to map such a queue as a JMS source or are there
    limitations to the specific SYS.AQ$_JMS_MESSAGE paylod_type?
    In the second case, what kind of workaround can we put in place? The XMLType is
    a must in our environment, so we have to manage it in some way...
    Thanks,
    Giorgio.

    We need to receive messages from a Oracle-AQ queue with paylod_type XMLType,
    and we would like manage this with JMS and MDB using OC4J 10.1.3.
    Somebody know if is it possible to map such a queue as a JMS source or are there
    limitations to the specific SYS.AQ$_JMS_MESSAGE paylod_type?
    In the second case, what kind of workaround can we put in place? The XMLType is
    a must in our environment, so we have to manage it in some way...
    Thanks,
    Giorgio.

  • Oracle 11g with cocoon.war and glassfish pdf problem?

    Hi all,
    I m install oracle 11g express on CentOS 5.6 OS, oracle apex listener 1.1.2.131.15
    glassfish v2 and cocoon 2.1.11 and connect glasfish with oracle apex and working fine
    Problem begin when I was build cocon xml and deploy cocoon.war on glassfish,
    adding fop_post on cocoon/fop_post (as describe on http://carlback.blogspot.com/2007/03/apex-cocoon-pdf-and-more.html) but pdf dont work!
    (I was setting all this steps on open suse 11.2-32 byte machine and ubuntu 8.04-32 byte and pdf work ok )
    Is there any idea whats happen whith this pdf error?
    Is problem with 64 byte some specific settings, with java jdk, cocoon, glassfish or something on oracle 11g apex ?
    Gordan
    Edited by: useruseruser on Jun 20, 2011 9:49 PM

    Udo wrote:
    Hi Gordon,
    what kind of error do you receive? And did you receive any error when building the cocoon.war with the 64bit Java? And which JDK are you using anyway?
    -Udo
    >Hi Gordon,
    what kind of error do you receive? And did you receive any error when building the cocoon.war with the 64bit Java? And which JDK are you using anyway?
    -Udo
    Hi Udo
    When I make export to pdf from report theres error Could not open file ///tmp/Report-1.pdf
    I was installing on OpenSuse 11.3 oracle 11g 64 based OS and oracle
    next I was download and unzip and build cocoon2.1.11 as bash build.sh war -- and in build folder theres make cocoon.war
    next I was download apex listener and from command line I was type java -jar apex.war
    next download and build glassfish v2 and this two war files I was deploy on server, and making username as describe
    in apex listener conf documentations, so apex working good over glassfish only cocoon cant create pdf
    giving me error Could not open file ///tmp/Report-1.pdf. and jdk is 1.6 26 64 byte
    error messages from open suse 11.3 64 byte on cocoon/fop_post>
    An error has occured
    org.apache.cocoon.ProcessingException: Unknown request object encountered named template : null
    Cocoon stacktrace[hide]
    Exception in StreamGenerator.generate()
    context://fop_post/sitemap.xmap - 17:32     <map:serialize type="xml">
    context://fop_post/sitemap.xmap - 13:33     <map:generate type="stream">
    Unable to get transformer handler for cocoon://fop_post/xsl
    context://fop_post/sitemap.xmap - 38:37     <map:serialize type="fo2pdf">
    context://fop_post/sitemap.xmap - 31:39     <map:transform>
    context://fop_post/sitemap.xmap - 30:38     <map:generate>
    context://sitemap.xmap - 1055:92     <map:mount>
    Java stacktrace[show]
    org.apache.cocoon.ProcessingException: Unknown request object encountered named template : null
         at org.apache.cocoon.generation.StreamGenerator.generate(StreamGenerator.java:122)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:579)
         at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:280)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:780)
         at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:414)
         at org.apache.cocoon.components.xslt.TraxProcessor.sourceToSAX(TraxProcessor.java:306)
         at org.apache.cocoon.components.xslt.TraxProcessor.getTransformerHandlerAndValidity(TraxProcessor.java:241)
         at org.apache.cocoon.transformation.TraxTransformer.setup(TraxTransformer.java:331)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setupPipeline(AbstractProcessingPipeline.java:398)
         at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setupPipeline(AbstractCachingProcessingPipeline.java:718)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.preparePipeline(AbstractProcessingPipeline.java:501)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:453)
         at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.SwitchSelectNode.invoke(SwitchSelectNode.java:104)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
         at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
         at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
         at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Java full stacktrace[show]
    org.apache.cocoon.ProcessingException: Unable to get transformer handler for cocoon://fop_post/xsl
         at <map:serialize type="fo2pdf"> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:38:37
         at <map:transform> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:31:39
         at <map:generate> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:30:38
         at <map:mount> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/sitemap.xmap:1055:92
         at org.apache.cocoon.transformation.TraxTransformer.setup(TraxTransformer.java:339)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setupPipeline(AbstractProcessingPipeline.java:398)
         at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setupPipeline(AbstractCachingProcessingPipeline.java:718)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.preparePipeline(AbstractProcessingPipeline.java:501)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:453)
         at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.SwitchSelectNode.invoke(SwitchSelectNode.java:104)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
         at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
         at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
         at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: org.apache.excalibur.xml.xslt.XSLTProcessorException: Exception when creating Transformer from cocoon://fop_post/xsl
         at org.apache.cocoon.components.xslt.TraxProcessor.getTransformerHandlerAndValidity(TraxProcessor.java:300)
         at org.apache.cocoon.transformation.TraxTransformer.setup(TraxTransformer.java:331)
         ... 56 more
    Caused by: org.apache.cocoon.ProcessingException: Exception in StreamGenerator.generate()
         at <map:serialize type="xml"> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:17:32
         at <map:generate type="stream"> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:13:33
         at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:424)
         at org.apache.cocoon.components.xslt.TraxProcessor.sourceToSAX(TraxProcessor.java:306)
         at org.apache.cocoon.components.xslt.TraxProcessor.getTransformerHandlerAndValidity(TraxProcessor.java:241)
         ... 57 more
    Caused by: org.apache.cocoon.ProcessingException: Exception in StreamGenerator.generate()
         at <map:serialize type="xml"> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:17:32
         at <map:generate type="stream"> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/fop_post/sitemap.xmap:13:33
         at org.apache.cocoon.generation.StreamGenerator.generate(StreamGenerator.java:163)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:579)
         at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:280)
         at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:780)
         at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:414)
         ... 59 more
    Caused by: org.apache.cocoon.ProcessingException: Unknown request object encountered named template : null
         at org.apache.cocoon.generation.StreamGenerator.generate(StreamGenerator.java:122)
         ... 63 more
    The Apache Cocoon Project
    and other error from CentOS 64 byte same cocoon/fop_post >
    Resource not found
    org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: fop_post/
    <map:mount> - context://sitemap.xmap - 1055:92
    Cocoon stacktrace[hide]
    No pipeline matched request: fop_post/
    context://sitemap.xmap - 1055:92     <map:mount>
    Java stacktrace[show]
    org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: fop_post/
         at <map:mount> - file:///home/nadrog/glassfish/domains/domain1/applications/j2ee-modules/cocoon/sitemap.xmap:1055:92
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:149)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
         at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
         at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
         at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
         at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
         at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
         at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
         at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    The Apache Cocoon Project
    All this steps above, I was making with open suse 32 byte, with oracle 32 byte 10g with
    apex listener, cocoon and glassfish and apex and pdf export working good.
    is there any idea, whats solution for 64 byte cocoon, apex listener oracle express pdf export?
    regards
    Gordan
    Edited by: useruseruser on Jun 23, 2011 9:09 AM

  • Create EJB 3.0 Message Driven Bean on a Oracle JMS (AQ)

    Hi, I need to develop a EJB 3.0 Message Driven Bean. The MDB has to work on a Oracle AQ using Oracle JMS. Is there any how-to document giving an example about this issue. Can you give an example how to create the JMS destination in OC4J (how to configure the Oracle JMS AQ in OC4j), issue the JMS destination via annotions (resource injection) in the MDB. Please give me a working example of the MDB and a test client to produce a message. Regards, Arjan Jorritsma

    Check your ejb-jar.xml and see if it has the version of "2.1" there...
    If the application was depending upon EJB 3.0 annotations but it had a ejb-jar.xml that had version set to "2.1" and there was no oracle specific descriptor (orion-ejb-jar.xml) to designate it use the resource adapter; It would expect JMS destination and connection factory that is required for a JMS-MDB set in the ejb-jar.xml. So try to change the ejb-jar.xml to update the version to "3.0", OC4J would have parsed the annotation and combined the metadata with ejb-jar.xml and it would work.
    -Frances

  • Weblogic Connection with Oracle JMS AQ errors

    Hi All,
    I am a newbie with SOA 11g and I am trying to do a simple test case for a use case of connecting Oracle AQ JMS with Weblogic and using it in my SOA 11g process. I am trying to publish something to my queue that I created but I am getting this error in the weblogic / soa log files pasted below :
    The steps I followed exactly are this :
    1) Created a Database Queue called DemoInqueue using the following scripts :
    exec dbms_aqadm.create_queue_table ( queue_table=> 'DemoInQueue', queue_payload_type=> 'SYS.AQ$_JMS_TEXT_MESSAGE', multiple_consumers=> FALSE, compatible=> '8.1');
    COMMIT;
    exec dbms_aqadm.create_queue(queue_name=> 'DemoInQueue', queue_table=> 'DemoInQueue');
    COMMIT;
    exec dbms_aqadm.start_queue('DemoInQueue');
    COMMIT;
    2) Created a Data Source in weblogic server : Called it using the JNDI name : jdbc/oracle/jms Driver Class Name : oracle.jdbc.xa.client.OracleXADataSource (I tested the connection it works fine)
    3) Created a JMS Module (JMSTestModule) and then Created a New Summary of Resource for it ( AQServer) and chose option Foregin Server.
    Under General Tab, I gave "oracle.jms.AQjmsInitialContextFactory" as the JNDI Initial Context Factory and Under JNDI Properties I put in "datasource=jdbc/oracle/jms" as I created the above datasource.
    Under Connection Factores I created a new "ForeignConnectionFactory-0". Under Configuration I gave Local JNDI name as "jms/DemoCF" and remote JNDI Name as "XAQueueConnectionFactory" (I have also tried with
    QAConnectionFactory but no difference )
    Under Destinations I created a new "ForeignDestination-0" with local JNDI name as "jms/DemoInQ" and Remote JNDI Name as "Queues/DemoInQueue" (Because my Queue name is that)....
    4) I restarted the Weblogic Server then went to SOA suite and tried a very simple process Hello world added a JMS adpater....Inside the adpater I selected OEMS (Advanced Queueing), App server my weblogic server,
    operation as ProduceMessage and when I hit Browse I was able to see my AQServer ForeignDestination-0 Queue. I selected it and under destination name it populated "jms/DemoInQ" but under JNDI name it also
    populated "eis/aqjms/Queue" I left that as is and deployed my process and tried invoking it. It failed with the error message below.....I also tried modifying the JNDI name to something else...in Jdev..but the results
    are the same....
    Are these steps correct ? Am I missing something here.?
    I followed all the blogs and forums in this site and I think I did all the steps...but if anyone can help me I would really appreciate it...
    Here is the error stack below :
    <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437281> <BEA-190032> << eis/aqjms/Queue > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.
    ">
    ####<Dec 1, 2010 2:07:17 PM EST> <Warning> <Connector> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437296> <BEA-190032> << eis/aqjms/Queue > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.
    ">
    SOA LOG.....
    ####<Dec 1, 2010 2:07:17 PM EST> <Error> <oracle.soa.adapter> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437359> <BEA-000000> <JCABinding=> [default/HelloWorldComposite!1.0*soa_25f514de-3db3-4bed-9144-44d83dacbe10.Publishmessage]:Produce_Message One-way operation Produce_Message() failed>
    ####<Dec 1, 2010 2:07:17 PM EST> <Error> <oracle.soa.bpel.engine.ws> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437359> <BEA-000000> <<WSInvocationManager::invoke> got FabricInvocationException
    oracle.fabric.common.FabricInvocationException: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: JCA Binding Component connection issue.
    JCA Binding Component is unable to create an outbound JCA (CCI) connection.
    HelloWorldComposite:Publishmessage [ Produce_Message_ptt::Produce_Message(body) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.

    Thanks for passing along the link.
    The part about Oracle's documentation not mentioning the JmsAdapter configuration was a real sticking point for me - I was having the same problem as the original poster until I updated that deployment as the link outlined.
    Also, towards the end of that link the author mentions running in to problems getting their composite to successfully bind to the queue definitions that were created in WebLogic.
    I attempted post my solution to this on the original site, but I'm not sure if it got through - so I'll add the details of what worked for me here:
    Connection Factory:
    Local JNDI: aqjms/JMSTest_Connection_Factory
    Remote JNDI: XAQueueConnectionFactory
    Destination:
    Local JNDI: aqjms/JMSTest_Queue
    Remote JNDI: Queues/JMSTest_Queue
    Outbound Connection Pool:
    Name: eis/aqjms/JMSTest_Queue
    Connection Factory: aqjms/JMSTest_Connection_Factory
    JDeveloper Composite:
    Destination Name: aqjms/JMSTest_Queue
    JNDI Name: eis/aqjms/JMSTest_Queue
    Cheers,
    - Nathan

  • Using JNDI Provider for Oracle JMS Queue

    Hello,
    I created a JMS Queue in Oracle 9.2.0.1 and would like
    a Java client to receive events from the Queue. I am
    not running Oracle9iAS. I have access to WebLogic server
    7.0 which is also a JNDI provider. Is there a sample code
    that shows the steps on how to go about this.
    thanks very much for any pointers.

    To define an Enterprise Message Source for AS JMS and OJMS in BAM, see Chapter 3 in the BAM Architect's User Guide.
    Specifying Settings for Oracle (AS JMS and OJMS)
    Settings for Oracle (AS JMS and OJMS) include:
    ■ Initial Context Factory.
    For 10.1.3: oracle.j2ee.rmi.RMIInitialContextFactory
    For 10.1.2: com.evermind.server.rmi.RMIInitialContextFactory
    ■ JNDI Service Provider URL. For standalone use oc4j: ormi://machine_name/
    where machine_name is the OC4J installed host, and for production use Application Server: opmn:ormi://<machine_name>:<opmn request port>:home where machine_name is the application server installed host, opmn request port could be found from looking at opmn.xml in <App server install location>/opmn/conf
    ■ TopicConnectionFactory Name.
    java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab
    ■ Topic Name. java:comp/resource/BAMTTT/Topics/bam_ttq
    ■ JMS Message Type. TextMessage.
    ■ Durable Subscriber Name. BAMFilteredSubscription
    ■ Message Selector. Message selector, for example, BAMFilter='true'
    ■ Client ID. ClientID
    You can also refer to:
    http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/TechNote_BAM_AQ_Configuration.pdf
    Regards, Stephen

  • Queue using OracleAS JMS

    hi , we have developed an application where we have a queue in websphere MQ and the application server used is oracle 10g . Now instead of using the websphereMQ or any other third party software , can we create a a queue and queue manager(MQ terminology ) in the oracle application server. We have created the queue destination and the connection factory in the oarcle , but how actully we have to create a queue and queue manger or is it not necessary to make one or is there any other way around, and we are trying for OEMS JMS In-Memory and File-Based Persistence , and hopefully the xml files are in right place i was refering to http://download-east.oracle.com/docs/cd/B25221_04/web.1013/b14427/jms.htm#sthref141
    for the development

    That's the right doc, you should create your destination and connection factory in jms.xml which is in j2ee/home/config directory.
    Here contains howto for using OracleAS JMS in 10.1.3:
    http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/index.html#JMS
    http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-connect-to-oemsjmsmf/doc/how-to-connect-to-oemsjmsmf.html
    -Frances

  • Jena adapter and glassfish

    I have been trying to get the Jena adapter , joseki and glassfish to work with 11g.
    No success so far. Glassfish just throws an error because somewhere in the code there is a cast to (OracleConnection) that is incorrect.
    My glassfish connection pool is setup using oracle.jdbc.pool.OracleDataSource.
    Has anyone got any ideas ?
    trace:
    WARN [httpSSLWorkerThread-8080-1] (Configuration.java:115) - Failed to build dataset from description (service name: updat
    e/service): caught: open: the connection from the datasource is not of OracleConnection type
    com.hp.hpl.jena.assembler.exceptions.AssemblerException: caught: open: the connection from the datasource is not of OracleConnection type
    doing:
    root: file:///export/apps/phil/glassfish/domains/domain1/config/joseki-config.ttl#oracle with type: http://www.oracle.com/2009/05/orardf/jena-joseki-ns#Da
    taset assembler class: class oracle.spatial.rdf.client.jena.assembler.OracleDatasetAssembler
    at com.hp.hpl.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:126)
    at com.hp.hpl.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:105)
    at com.hp.hpl.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:69)
    at com.hp.hpl.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:37)
    at com.hp.hpl.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:34)
    UPDATE: I believe this is because glassfish wraps its connections, so I'd need to create a new data source that gets the physical OracleConnection for me.
    As discussed here: http://forums.sun.com/thread.jspa?threadID=5100748
    Edited by: user2570981 on 12-Mar-2010 08:30

    Hi, I managed to get Joseki working on Tomcat 6 with just this META-INF/context.xml file (no <resource-ref> section in web.xml needed):
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
    <Resource name="OracleSemDS"
         auth="Container"
         type="oracle.jdbc.pool.OracleDataSource"
         factory="oracle.jdbc.pool.OracleDataSourceFactory"
         user="rdfuser"
         password="rdfuser"
         driverClassName="oracle.jdbc.driver.OracleDriver"
         url="jdbc:oracle:thin:@ec2-184-72-150-221:1521:tseval"
         validationQuery="select 1 from dual"
         maxActive="10"
         maxIdle="2"/>
    </Context>
    However, it took a patched version of the sdordfclient.jar to get it working, the problem being that, in accordance with the J2EE spec, Tomcat (and Glassfish as well, I believe) puts the datasource in the "java:comp/env" JNDI namespace. The sdordfclient.jar has code responsible for finding that datasource but looks for it under simply "OracleSemDS".
    your context.xml file looks good, I'll bet if you dig around, you'll find that "java:comp/env/OracleSemDS" is bound in Tomcat, you just need a sdordfclient.jar that is looking for it there.

  • Pros and Cons of using REST over JMS (and other technologies)

    Hey all,
    I am working on a project where we were using JMS initially to send messages between servers. Our front end servers have a RESTful API and use JEE6, with EJB 3.1 entity beans connected to a mysql database and so forth. The back end servers are more like "agents" so to speak.. we send some work for them to do, they do it. They are deployed in GlassFish 3.1 as well, but initially I was using JMS to listen to messages. I learned that JMS onMessage() is not threaded, so in order to facilitate handling of potentially hundreds of messages at once, I had to implement my own threading framework. Basically I used the Executor class. I could have used MDBs, but they are a lot more heavyweight than I needed, as the code within the onMessage was not using any of the container services.
    We ran into other issues, such as deploying our app in a distributed architecture in the cloud like EC2 was painful at best. Currently the cloud services we found don't support multi-cast so the nice "discover" feature for clustering JMS and other applications wasn't going to work. For some odd reason there seems to be little info on building out a scalable JEE application in the cloud. Even the EC2 techs, and RackSpace and two others had nobody that understood how to do it.
    So in light of this, plus the data we were sending via JMS was a number of different types that had to all be together in a group to be processed.. I started looking at using REST. Java/Jersey (JAX-RS) is so easy to implement and has thus far had wide industry adoption. The fact that our API is already using it on the front end meant I could re-use some of the representations on the back end servers, while a few had to be modified as our public API was not quite needed in full on the back end. Replacing JMS took about a day or so to put the "onmessage" handler into a REST form on the back end servers. Being able to submit an object (via JAXB) from the front servers to the back servers was much nicer to work with than building up a MapMessage object full of Map objects to contain the variety of data elements we needed to send as a group to our back end servers. Since it goes as XML, I am looking at using gzip as well, which should compress it by about 90% or so, making it use much less bandwidth and thus be faster. I don't know how JMS handles large messages. We were using HornetQ server and client.
    So I am curious what anyone thinks.. especially anyone that is knowledgeable with JMS and may understand REST as well. What benefits do we lose out on via JMS. Mind you, we were using a single queue and not broadcasting messages.. we wanted to make sure that one and only one end server got the message and handled it.
    Thanks..look forward to anyone's thoughts on this.

    851827 wrote:
    Thank you for the reply. One of the main reasons to switch to REST was JMS is strongly tied to Java. While I believe it can work with other message brokers that other platforms/languages can also use, we didn't want to spend more time researching all those paths. REST is very simple, works very well and is easy to implement in almost any language and platform. Our architecture is basically a front end rest API consumed by clients, and the back end servers are more like worker threads. We apply a set of rules, validations, and such on the front end, then send the work to be done to the back end. We could do it all in one server tier, but we also want to allow other 3rd parties to implement the "worker" server pieces in their own domains with their own language/platform of choice. Now, with this model, they simply provide a URL to send some REST calls to, and send some REST calls back to our servers.well, this sounds like this would be one of those requirements which might make jms not a good fit. as ejp mentioned, message brokers usually have bindings in multiple languages, so jms does not necessarily restrict you from using other languages/platforms as the worker nodes. using a REST based api certainly makes that more simple, though.
    As for load balancing, I am not entirely sure how glassfish or JBoss does it. Last time I did anything with scaling, it involved load balancers in front of servers that were session/cookie aware for stateful needs, and could round robin or based on some load factor on each server send requests to appropriate servers in a cluster. If you're saying that JBoss and/or GlassFish no longer need that.. then how is it done? I read up on HornetQ where a request sent to one ip/hornetq server could "discover" other servers in a cluster and balance the load by sending requests to other hornetq servers. I assume this is how the JEE containers are now doing it? The problem with that to me is.. you have one server that is loaded with all incoming traffic and then has to resend it on to other servers in the cluster. With enough load, it seems that the glassfish or jboss server become a load balancer and not doing what they were designed to do.. be a JEE container. I don't recall now if load balancing is in the spec or not..I would think it would not be required to be part of a container though, including session replication and such? Is that part of the spec now?you are confusing many different types of scaling. different layers of the jee stack scale in different ways. you usually scale/load balance at the web layer by putting a load balancer in front of your servers. at the ejb layer, however, you don't necessarily need that. in jboss, the client-side stub for invoking remote ejbs in a cluster will actually include the addresses for all the boxes and do some sort of work distribution itself. so, no given ejb server would be receiving all the incoming load. for jms, again, there are various points of work to consider. you have the message broker itself which is scaled/load balanced in whatever fashion it supports (don't know many details on actual message broker impls). but, for the mdbs themselves, each jee server is pretty independent. each jee server in the cluster will start a pool of mdbs and setup a connection to the relevant queue. then, the incoming messages will be distributed to the various servers and mdbs accordingly. again, no single box will be more loaded than any other.
    load balancing/clustering is not part of the jee "spec", but it is one of the many features that a decent jee server will handle for you. the point of jee was to specify patterns for doing work which, if followed, allow the app server to do all the "hard" parts. some of those features are required (transactions, authentication, etc), and some of those features are not (clustering, load-balancing, other robustness features).
    I still would think dedicated load balancers, whether physical hardware or virtual software running in a cloud/VM setup would be a better solution for handling load to different tiers?like i said, that depends on the tier. makes sense in some situations, not others. (for one thing, load-balancers tend to be http based, so they don't work so well for non-http protocols.)

  • JMS Enqueue/Dequeue without using oracle.jms package

    Hi,
    Is it possible to successfully enqueue/dequeue messages from Oracle AQ using JMS which only uses the classes under javax.jms package, not the classes under oracle.jms package. If possible, can anybody please provide some step by step example.
    Thanks

    You can get the connection factory and the queue from an application server's jndi. Create a resource provider reference in oc4j and get them from there. Read the oc4j services guide, oems (jms) chapter for how to do that.
    I think if you are not using an application server you can also get the connection factory and queue from an ldap directory. check out Aq user guide for that.

  • JMSML - XML Based Mark-Up Language for BEA WebLogic JMS and JMX

              JMSML is a Mark-Up language designed and developed to make Java Messaging Service
              (JMS) and Java Management Extensions (JMX) programming easy by hiding all the
              JMS and JMX Java API complexity behind a few, simple, easy to use XML tags.
              Both the White Paper and the binary download are available in dev2dev.beasys.com
              at the link below:
              http://dev2dev.beasys.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              Regards
              [email protected]
              

    Hi,
    I finally managed to post a message to ActiveMQ 5.4.2 from WLS 10.3. I created a foreign JMS Server in WLS. I am not sure if you still have this issue, but I was facing this problem and managed to resolve it so posting the reply!
    I placed the activemq-all-5.4.2.jar file in WLS server classpath.
    The settings I used for the Foreign Server are:
    General tab
    JNDI Initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory
    JNDI Connection URL: tcp://localhost:61616
    Destinations Tab
    Name: TestQueue
    Local JNDI Name: TestQueue
    Remote JNDI Name: dynamicQueues/TestQueue (I tried with a normal queue, but it didn't work. So used dynamicQueues here. Will try with other queue also)
    Connection Factories Tab
    Name: AMQConnectionFactory (
    Local JNDI Name: AMQConnectionFactory
    Remote JNDI Name: ConnectionFactory (This is default name given by Active MQ, you can change by adding names in jndi.properties file and placing it in config folder of ActiveMQ installation. Please check here: http://activemq.apache.org/jndi-support.html)
    Using this configuration I was able to post message to ActiveMQ queue from Oracle Service Bus. One more issue to be taken care is that if the message type is not "Text" then the message body was coming as blank in ActiveMQ. So set the message type as "Text" explicitly.

  • Oracle JMS using AQ throwing InvalidDestinationException

    While creating Queue(AQJMS) using Application-Client.xml as shown below iam getting the below shown error. I have configured the Oracle JMS Provider and datasource on Server . Can you Please suggest me what has to be done. Iam using Oracle 10g AS(10.1.2).
    Error
    javax.jms.InvalidDestinationException: Destination "JMSUSER.demoQueue" has inval id type "class oracle.jms.AQjmsDestination" and cannot be used with OC4J JMS.
    at com.evermind.server.jms.EvermindDestination.checkDestination EvermindDestination.java:262)
    at com.evermind.server.jms.EvermindMessageProducer.<init>(EvermindMessageProducer.java:61)
    at com.evermind.server.jms.EvermindQueueSender.<init>(EvermindQueueSender.java:50)
    at com.evermind.server.jms.EvermindQueueSession.createSender(EvermindQueueSession.java:91)
    at mypackage.Test.enqueue(Test.java:107)
    at mypackage.Test.<init>(Test.java:37)
    at mypackage.Test.main(Test.java:48)
    [application-client.xml]
    <resource-ref>
    <res-ref-name>jms/YourQueueConnectionFactory</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-env-ref>
    <resource-env-ref-name>jms/demoQueue</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
    </resource-env-ref>
    [orion-application-client.xml]
    <resource-ref-mapping
    name="jms/YourQueueConnectionFactory"
    location="java:comp/resource/OJMSReference/QueueConnectionFactories/someQcf" />
    <resource-env-ref-mapping name="jms/demoQueue" location="java:comp/resource/OJMSReference/Queues/jmsuser.demoQueue"/>
    Thanks in Advance for the help.

    no not required. Foreign JMS for Weblogic is independent of OSB. It will work with out installation of OSB.
    Manoj

  • Oracle JMS AQ connection using Weblogic 10.3.3

    Hi All,
    I am a newbie with SOA 11g and I am trying to do a simple test case for a use case of connecting Oracle AQ JMS with Weblogic and using it in my SOA 11g process. I am trying to publish something to my queue that I created but I am getting this error in the weblogic / soa log files pasted below :
    The steps I followed exactly are this :
    1) Created a Database Queue called DemoInqueue using the following scripts :
    exec dbms_aqadm.create_queue_table ( queue_table=> 'DemoInQueue', queue_payload_type=> 'SYS.AQ$_JMS_TEXT_MESSAGE', multiple_consumers=> FALSE, compatible=> '8.1');
    COMMIT;
    exec dbms_aqadm.create_queue(queue_name=> 'DemoInQueue', queue_table=> 'DemoInQueue');
    COMMIT;
    exec dbms_aqadm.start_queue('DemoInQueue');
    COMMIT;
    2) Created a Data Source in weblogic server : Called it using the JNDI name : jdbc/oracle/jms Driver Class Name : oracle.jdbc.xa.client.OracleXADataSource (I tested the connection it works fine)
    3) Created a JMS Module (JMSTestModule) and then Created a New Summary of Resource for it ( AQServer) and chose option Foregin Server.
    Under General Tab, I gave "oracle.jms.AQjmsInitialContextFactory" as the JNDI Initial Context Factory and Under JNDI Properties I put in "datasource=jdbc/oracle/jms" as I created the above datasource.
    Under Connection Factores I created a new "ForeignConnectionFactory-0". Under Configuration I gave Local JNDI name as "jms/DemoCF" and remote JNDI Name as "XAQueueConnectionFactory" (I have also tried with
    QAConnectionFactory but no difference )
    Under Destinations I created a new "ForeignDestination-0" with local JNDI name as "jms/DemoInQ" and Remote JNDI Name as "Queues/DemoInQueue" (Because my Queue name is that)....
    4) I restarted the Weblogic Server then went to SOA suite and tried a very simple process Hello world added a JMS adpater....Inside the adpater I selected OEMS (Advanced Queueing), App server my weblogic server,
    operation as ProduceMessage and when I hit Browse I was able to see my AQServer ForeignDestination-0 Queue. I selected it and under destination name it populated "jms/DemoInQ" but under JNDI name it also
    populated "eis/aqjms/Queue" I left that as is and deployed my process and tried invoking it. It failed with the error message below.....I also tried modifying the JNDI name to something else...in Jdev..but the results
    are the same....
    Are these steps correct ? Am I missing something here.?
    I followed all the blogs and forums in this site and I think I did all the steps...but if anyone can help me I would really appreciate it...
    Here is the error stack below :
    <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437281> <BEA-190032> << eis/aqjms/Queue > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.
    ">
    ####<Dec 1, 2010 2:07:17 PM EST> <Warning> <Connector> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437296> <BEA-190032> << eis/aqjms/Queue > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.
    ">
    SOA LOG.....
    ####<Dec 1, 2010 2:07:17 PM EST> <Error> <oracle.soa.adapter> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437359> <BEA-000000> <JCABinding=> [default/HelloWorldComposite!1.0*soa_25f514de-3db3-4bed-9144-44d83dacbe10.Publishmessage]:Produce_Message One-way operation Produce_Message() failed>
    ####<Dec 1, 2010 2:07:17 PM EST> <Error> <oracle.soa.bpel.engine.ws> <OLRMSPLAP103> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-57B9592B4D0D4FFD1A5C> <3f3d2d8955322f32:-5d57c961:12ca300b9a3:-7fd3-00000000000002d7> <1291230437359> <BEA-000000> <<WSInvocationManager::invoke> got FabricInvocationException
    oracle.fabric.common.FabricInvocationException: BINDING.JCA-12563
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: JCA Binding Component connection issue.
    JCA Binding Component is unable to create an outbound JCA (CCI) connection.
    HelloWorldComposite:Publishmessage [ Produce_Message_ptt::Produce_Message(body) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.

    I executed your scripts one by one and then tried again. Same Error Message. I think the problem is not in the AQ queue. The issue is with the BPEL / SOA process as the error message below clearly says it's not able to find aqjms/XAQueueConnectionFactory. That's the JNDI name in my Jdeveloper ? Is that JNDI what I should be using or should be match something else ? Please help................
    Latest Error LOG...
    <<anonymous>> <BEA1-0B06BE09987B4FFD1A5C> <3f3d2d8955322f32:-73cb8b9a:12ca58d835d:-7fd3-0000000000000123> <1291268540004> <BEA-000000> <<CubeEngine::handleWorkItem> This exception occurred because the fault thrown in the BPEL flow was not handled by any fault handlers and reached the top-level scope. Root cause : com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    parts: {{
    summary=<summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: JCA Binding Component connection issue.
    JCA Binding Component is unable to create an outbound JCA (CCI) connection.
    HelloWorldComposite:Publishmessage [ Produce_Message_ptt::Produce_Message(body) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factory aqjms/XAQueueConnectionFactory neither through JNDI nor instantiate it as a Java class.
    Please examine the log file to determine the problem.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    ,detail=<detail>aqjms/XAQueueConnectionFactory</detail>
    ,code=<code>null</code>}
    >

Maybe you are looking for

  • Video Clip Properties Blank - Mixed Selection

    I have downloaded Encore 2.0 trial Version for Windows to assure it works before purchase. I succesfully created a DVD using QT Ref. imports from Avid MC. At one point I actually saw the properties for a video clip where I could add SCC file. Since t

  • Can ipod Nano work on PC and Mac at the same time?

    I have a PC at home, which my iPod is formatted to. I tried to plug it into my iMac at work today and it didn't recognize any of my songs. It gives me the option to erase and sync or transfer purchases, neither of which will let me play anything. If

  • Any cross platform chat app (eg. Whatsapp) for Ash...

    Hello, Does anyone know any cross platform chat app which can be used on Asha 501? I bought the phone today and I was only able to find Nokia Chat which is preinstalled on the phone but that app is not available on android. Any help regarding this? T

  • Music already on PC

    Hello I am new at this my husband got me this Ipod Shuffle for Christmas and my question is. Can I add music I already have saved on my PC and put it into my ipod? Thx Jamama1 HP   Windows XP  

  • Blackberry to iPhone....

    There are a couple of features I would like to see improved upon with the iPhone.  I am an avid Blackberry user and just finally made the switch to an iPhone.  I use Apple products for everything else, so I thought it was time I started using an iPho