Dynamic topics and queues

I'd like to know if a JMS client can create a topic or queue dynamically to be used by others JMS clients, or this is a operation which only can be performed by JMS server.
Thanks in advance.

I should add that the JMS spec does define an API for creating 'temporary destinations', e.g., using the QueueSession.createTemporaryQueue() method. However these have a few limitations over standard destinations: firstly, they only survive for the lifetime of the connection from which they were created, when the connection is closed the destination is destroyed and the contents is lost; secondly, although producers from any connection can produce messages to a temporary destination, only consumers that belong to the same connection within which the temporary destination was created are able to consume from a given temporary destination. All that said, temporary destinations can often be useful, particularly for handling request/response type interactions - see QueueRequestors too for more info.
Best regards,
David Ingham
Arjuna Technologies - http://www.arjuna.com

Similar Messages

  • Can JMS topics and queues be clustered in a WLS 7.0 Cluster?

    We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
              node servers. Two nodes have been clustered. We are at the point where we
              need to configure JMS. Has any one implemented JMS in WLS 7 clustered
              environment? What are the things to watch out when clustering JMS? Can JMS
              topics and queues be clustered?
              TIA for any helpful hints and comments.
              Regards
              

    "Karim Ali" <[email protected]> wrote:
              >> Has any one implemented JMS in WLS 7 clustered
              >> environment?
              I'm currently working on a project with WLS 7 here at work, involving
              the implementation of BEA's JMS Cluster. So far, I really haven't had
              many hiccups.
              "Karim Ali" <[email protected]> wrote:
              >> What are the things to watch out when clustering JMS?
              At least in WLS 7, the biggest thing that stands out is the lack of
              automatic failover. Also, Message Paging -- make sure you configure
              paging high/low thresholds. Or, if you don't wish for it to occur but
              can't stop the server (very common these days with SLAs), set that
              byte/message high threshold to a very large number (correct me if I'm
              wrong, but I believe BEA recommends 2^63 -1).
              "Karim Ali" <[email protected]> wrote:
              >> Can JMS topics and queues be clustered?
              Well, since Topics and Queues are extensions of the
              javax.jms.Destination interface, the answer is: Yes!
              (SIDE NOTE: most people usually refer to them as a [JMS] "destination"
              -- it avoids a lot of conceptual baggage and plus, less typing!)
              You'll probably want to see this section of BEA's e-docs:
              http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
              later,
              Brian J. Mitchell
              BEA Systems Administrator
              TRX
              Atlanta, GA
              email: [email protected]
              office: 404-327-7238
              mobile: 678-283-6530
              

  • Creating topics and queues programatically

    Hi,
    Here i my scenario.
    1. I have created the required number of queues and topics using the SunOne MQ's imqcmd command.
    2. I want to use the jndi apis to register the jndia names for these queues in the appserver. How do we do this?
    3. How to make an entry in the server.xml file programatically?
    Note:- i do no t want to use the asadmin-utility for this.
    i want to use the standard api's available to do this task.
    Pls help
    regards
    raghu

    Hi Raghu,
    You appear to have created various topics and queues
    on a MQ broker via the imqcmd command (independent
    of app server).
    For JMS clients to access/use the above topics/queues,
    JMS resources of type javax.jms.Topic and javax.jms.Queue
    need to be created and exposed to app server's JNDI
    context.
    Running this command:
    asadmin create-jms-resource ...
    Creates a new jms-resource entry in server.xml and
    the command:
    asadmin reconfig ...
    Creates the actual java object and introduces it into
    app server's JNDI context. (A server restart does this too).
    You mention that you want to do the above from your code.
    I don't think it is possible to programatically add new
    resources into server.xml. If there was a way, I wouldn't
    recommend it be done from J2EE applications since JMS resource
    management is an administrative task. Note that using
    JNDI to bind an object from an application (I haven't tried it
    in app server) may appear to work but this resource is not
    persisted across restarts since it is not in server.xml.
    Why do you want to do this ? Why does your application need to do
    what asadmin already does today ?
    Perhaps if I can better understand why you want to do this I can
    help suggest other solutions.
    regards,
    -isa

  • Distinguishing between topics and queues

              Hi,
              I have a generic piece of code that takes a javax.jms.Destination that does different
              things depending if the destination is a queue or a topic.
              The problem is that it seems that destinations in Weblogic implement both queue
              and topic:
              instanceof queue <new_JMSTopic_1>
              queue name: <new_JMSTopic_1>
              weblogic.jms.common.InvalidDestinationException: Destination must be a queue,
              ne
              w_JMSTopic_1
              at weblogic.jms.common.Destination.checkDestinationType(Destination.java
              :113)
              at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1516)
              at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1500)
              at Test.run(Test.java:100)
              at Test.main(Test.java:311)
              Is there anyway for me to programatically distinguish between queues and topics
              as there seems not to be any javadoc on weblogic.jms.common.Destination and instanceof
              does not work? I would prefer not to rely on exceptions.
              I'm using Weblogic 8.1 sp2.
              Thanks
              Riad
              

              Cool. Thanks for your help Tom.
              Riad
              Tom Barnes <[email protected]> wrote:
              >Hi Riad,
              >
              >This has come up before.
              >
              >For now, you may cast dest to weblogic.jms.common.DestinationImpl
              >and call "isQueue()". Normally, only the javadoc'd methods
              >in weblogic.jms.extensions are intended for public use,
              >but for this case we make an exception.
              >
              >In the next release, this method will be exposed through
              >a new public WL JMS API extension:
              >weblogic.jms.extensions.WLDestination,
              >and might not be available otherwise.
              >
              >Tom, BEA
              >
              >P.S. A java tip: The JDK's built-in "javap"
              >is useful for viewing an arbitrary class api.
              >As in "javap weblogic.jms.extensions.JMSHelper".
              >
              >Riad wrote:
              >> Hi,
              >>
              >> I have a generic piece of code that takes a javax.jms.Destination that
              >does different
              >> things depending if the destination is a queue or a topic.
              >>
              >> The problem is that it seems that destinations in Weblogic implement
              >both queue
              >> and topic:
              >> instanceof queue <new_JMSTopic_1>
              >> queue name: <new_JMSTopic_1>
              >> weblogic.jms.common.InvalidDestinationException: Destination must be
              >a queue,
              >> ne
              >> w_JMSTopic_1
              >> at weblogic.jms.common.Destination.checkDestinationType(Destination.java
              >> :113)
              >> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1516)
              >> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1500)
              >> at Test.run(Test.java:100)
              >> at Test.main(Test.java:311)
              >>
              >> Is there anyway for me to programatically distinguish between queues
              >and topics
              >> as there seems not to be any javadoc on weblogic.jms.common.Destination
              >and instanceof
              >> does not work? I would prefer not to rely on exceptions.
              >>
              >> I'm using Weblogic 8.1 sp2.
              >>
              >> Thanks
              >> Riad
              >
              

  • Request-Reply in JMSAdapter SOA 11g using a Topic and a Queue

    Hi All
    We are trying to implement JMS Request\Reply with Tibco EMS Server using JMS Request\Reply. Problem is that Tibco has exposed a topic (where request message has been enqueued) and replies the message is a pre defined JMS queue.
    I am trying to use JMS adapter in SOA 11g (OSB doesnt support request\reply as soon as destination is selected as Topic ) with foreign JMS server setup in weblogic.
    Problem is that when i invoke the composite, it errors out saying that request destination has to be a queue. I tried to find any sample that talks about request-reply with topics but could not find any.
    Is request-reply pattern supported with topics or topic-queue combinations in JMS adapter 11g? Please let u know. Thanks

    Hi All
    The request-reply pattern is working with queues and topics, but not with topic and queue. The issue is with this:
    <adapter-config name="RemoteOSBJMSService" adapter="JMS Adapter"
    wsdlLocation="RemoteOSBJMSService.wsdl"
    xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/JMS/RequestReplyTopic"
    UIJmsProvider="WLSJMS" UiOperationMode="Asynchronous"
    UIConnectionName="chdsez147855d"/>
    <endpoint-activation portType="Reply_ptt" operation="Reply"
    UITransmissionPrimitive="Request-response">
    <activation-spec className="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec">
    <property name="PayloadType" value="TextMessage"/>
    <property name="UseMessageListener" value="false"/>
    <property name="DestinationName" value="jms.soa.local.response.q"/>
    </activation-spec>
    </endpoint-activation>
    <endpoint-interaction portType="Request_ptt" operation="Request"
    UITransmissionPrimitive="Request-response">
    <interaction-spec className="oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec">
    <property name="TimeToLive" value="0"/>
    <property name="PayloadType" value="TextMessage"/>
    <property name="DeliveryMode" value="Persistent"/>
    <property name="DestinationName" value="jms.soa.local.request.topic"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    The connection factory "eis/JMS/RequestReplyTopic" can either hold isTopic as false or true. If i set it to false, it doesnt even let me enqueue and if i set it to true. The reply doesnt arrive.
    Please help!

  • How to create Bridge connecting distributed Topic to queue

    Hi,
    I am trying to create a bridge which connects distributed topic with JMS queue.
    Both the topic and queue are in the same domain.
    But it is not getting connected. Status is failed.
    Below is the configuration -
    <messaging-bridge>
    <name>DisTopicBridge</name>
    <target>Managed_soa_server01</target>
    <source-destination>DisTopicSource</source-destination>
    <target-destination>QueueSource1</target-destination>
    <selector></selector>
    <quality-of-service>Exactly-once</quality-of-service>
    <qos-degradation-allowed>false</qos-degradation-allowed>
    <durability-enabled>true</durability-enabled>
    <idle-time-maximum>60</idle-time-maximum>
    <async-enabled>true</async-enabled>
    <started>true</started>
    <preserve-msg-property>false</preserve-msg-property>
    </messaging-bridge>
    <jms-bridge-destination>
    <name>DisTopicSource</name>
    <adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
    <classpath></classpath>
    <connection-factory-jndi-name>jndi/TestConnectionFactory</connection-factory-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <connection-url>t3://xxx.xx.xxx.40:9101</connection-url>
    <destination-jndi-name>jndi/TestDistributedTopic</destination-jndi-name>
    <destination-type>Topic</destination-type>
    </jms-bridge-destination>
    <jms-bridge-destination>
    <name>QueueSource1</name>
    <adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
    <classpath></classpath>
    <connection-factory-jndi-name>jndi/QConnectionFactory</connection-factory-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <connection-url>t3://xxx.xx.xxx.40:9101</connection-url>
    <destination-jndi-name>jndi/TestQueue2</destination-jndi-name>
    <destination-type>Queue</destination-type>
    </jms-bridge-destination>
    Error in the log:
    <Warning> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3c66> <1337198463908> <BEA-200026> <Bridge "DisTopicBridge" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was javax.resource.ResourceException: Error setting message listener.)>
    <Info> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3c67> <1337198463908> <BEA-200020> <Bridge "DisTopicBridge" is stopped.>
    <Info> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3cb9> <1337198471319> <BEA-200034> <Bridge "DisTopicBridge" is shut down.>
    Is there any special way we have to configure the Bridge while using Distributed topic?

    Hello,
    Please find the more details about the error we are receiving ( BEA-200026 )
    http://docs.oracle.com/cd/E13222_01/wls/docs100/messages/Bridge.html
    BEA-200026
    Warning: Bridge "arg01" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was t.)
    Description
    This message indicates that errors occurred during the process of transferring messages. The bridge stopped its connections to both adapters and will attempt reconnect soon.
    Cause
    There was a problem in receiving or sending messages to one of the sides of the bridge.
    Action
    No action required.
    I would also request you to specify the version of weblogic and verify if the adapter is being deployed properly.
    Please reveiw the bridge document
    http://docs.oracle.com/cd/E11035_01/wls100/bridge/bridgefaq.html
    Can you also check the status of the bridge
    Messaging –> Bridges –> YOUR_Bridge_NAME –> Monitoring [tab]
    Please provide the above required details
    -Vishal Iyer

  • 1 "simple" JMS topic and 2 cluster elements with OSB

    Hi,
    I have 1 simple jms topic (not distributed, not on migratable target) and cluster with 2 members - OSB as main application. My OSB proxy service reads from this topic and saves data to file.
    The problem is that reading from topic appears twice - once by each cluster member. How to configure topic or proxy service for only one reading?

    FYI - At this year's Oracle OpenWorld, which is being held in conjunction with this year's JavaOne, Oracle will be announcing a set of enhancements that are designed to cover this exact use case.
    Tom Barnes
    Session ID: S317469
    Title: New Service-Oriented Architecture Patterns with Enterprise Grid Messaging
    Abstract: Messaging systems are essential in enabling the flexibility and loosely coupled nature of a service-oriented architecture (SOA). Oracle WebLogic Java Message Service (JMS) includes new pub-sub capabilities that make architectures more adaptable, allowing message producers to be ignorant of who is the consumer of a message or how many consumers there are. It also enables easy scale out and dynamic adaptability through clustering and message-driven bean (MDB) enhancements, all while still guaranteeing strict message ordering. This session will outline new JMS capabilities and show how they enable new designs with Oracle WebLogic Server and Oracle Service Bus.
    Speaker(s): Dongbo Xiao, Oracle, Principal Member of Technical Staff
    Biography not available.
    David Cabelus, Oracle USA, Senior Principal Product Manager
    Dave Cabelus is a Senior Principal Product Manager in the WebLogic Server group at Oracle. Dave's responsibilities include product strategy and direction for various pieces of WebLogic Server, including Java Messaging, Operations and Management, Diagnostics, and various other initiatives, and previously included database connectivity, transactions, and Web tier integration. In the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001.
    Event: JavaOne and Oracle Develop
    Stream(s): ORACLE DEVELOP, DEVELOP
    Track(s): Application Grid and Oracle WebLogic
    Tags: Add
    Session Type: Conference Session
    Session Category: Features
    Duration: 60 min.
    Schedule: Thursday, September 23, 11:00AM | Hotel Nikko, Nikko Ballroom II Available
    Edited by: TomB on Aug 12, 2010 1:21 PM

  • Reading old message from Topic or queue

    How i can read old message from jms topic or queue?

    It depends on what you mean by "old" and what your JMS implementation is. Old as in expired or as in previously delivered?
    Sending expired or previously delivered messages with DropboxMQ is as simple as moving the message files around using a shell or file explorer.
    http://dropboxmq.sourceforge.net
    Dwayne

  • JMS destination and queue in jndi.properties

    I am using activemq to create a very simple jms application.
    But there is a point I have not understand.The administered connection factory object that I use is org.activemq.jndi.ActiveMQInitialContextFactory which is the ActiveMq specific object. Do I have to do the same with the destination object?I read that Destination is also an administered object so I have to use an object of the ActiveMq? Specifically in the jndi properties where I define the queue property the value must be:
    1.an activeMq object
    2.a java class that implements the javax.jsm.Queue interface
    3.a physical name of another server?
    and in the code where I look up the destination object
    Destination destination = (Destination) jndiContext.lookup(queueProp);What exactly will be the queueProp? I would appreciate an example
    Thanking you in advance.

    I've read the documentation but I am afraid I miss some points.
    First of all I use the following code from an example in the net where the <b> activemq.jar is >/b> used and the jndi.properties is not used at all and the following code is working:package jms;
    import org.activemq.ActiveMQConnectionFactory;
    import javax.jms.Connection;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.ExceptionListener;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    * Hello world!
    public class App {
        public static void main(String[] args) throws Exception {
            thread(new HelloWorldBroker(args), true);
            Thread.sleep(1000);
            thread(new HelloWorldProducer(), false);
            thread(new HelloWorldProducer(), false);
            thread(new HelloWorldConsumer(), false);
            Thread.sleep(1000);
            thread(new HelloWorldConsumer(), false);
                   Thread.sleep(1000);
            thread(new HelloWorldConsumer(), false);
            thread(new HelloWorldProducer(), false);
                    Thread.sleep(1000);
                 thread(new HelloWorldProducer(), false);
            thread(new HelloWorldConsumer(), false);
        public static void thread(Runnable runnable, boolean daemon) {
            Thread brokerThread = new Thread(runnable);
            brokerThread.setDaemon(daemon);
            brokerThread.start();
        public static class HelloWorldBroker implements Runnable {
            private final String[] args;
            public HelloWorldBroker(String[] args) {
                this.args = args;
            public void run() {
                org.activemq.broker.impl.Main.main(args);
        public static class HelloWorldProducer implements Runnable {
            public void run() {
                try {
                    // Create a ConnectionFactory
                    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
                    // Create a Connection
                    Connection connection = connectionFactory.createConnection();
                    connection.start();
                    // Create a Session
                    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                    // Create the destination (Topic or Queue)
                    Destination destination = session.createQueue("TEST.FOO");
                    // Create a MessageProducer from the Session to the Topic or Queue
                    MessageProducer producer = session.createProducer(destination);
                    producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
                    // Create a messages
                    String text = "Hello world! From: " + Thread.currentThread().getName() + " : " + this.hashCode();
                    TextMessage message = session.createTextMessage(text);
                    // Tell the producer to send the message
                    System.out.println("Sent message: "+ message.hashCode() + " : " + Thread.currentThread().getName());
                    producer.send(message);
                    // Clean up
                    session.close();
                    connection.close();
                catch (Exception e) {
                    System.out.println("Caught: " + e);
                    e.printStackTrace();
        public static class HelloWorldConsumer implements Runnable, ExceptionListener {
            public void run() {
                try {
                    // Create a ConnectionFactory
                    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
                    // Create a Connection
                    Connection connection = connectionFactory.createConnection();
                    connection.start();
                    connection.setExceptionListener(this);
                    // Create a Session
                    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                    // Create the destination (Topic or Queue)
                    Destination destination = session.createQueue("TEST.FOO");
                    // Create a MessageConsumer from the Session to the Topic or Queue
                    MessageConsumer consumer = session.createConsumer(destination);
                    // Wait for a message
                    Message message = consumer.receive(1000);
                    if (message instanceof TextMessage) {
                        TextMessage textMessage = (TextMessage) message;
                        String text = textMessage.getText();
                        System.out.println("Received: " + text);
                    } else {
                        System.out.println("Received: " + message);
                    consumer.close();
                    session.close();
                    connection.close();
                } catch (Exception e) {
                    System.out.println("Caught: " + e);
                    e.printStackTrace();
            public synchronized void onException(JMSException ex) {
                System.out.println("JMS Exception occured.  Shutting down client.");
    }But I want to make it work with jndi.properties.
    So I am trying to use a code where connectionFactory and Destination are loaded from the jndi properties.After experimenting with code
    the following is working
         try {
                   connectionFactory = (ConnectionFactory) jndiContext.lookup("connectionFactory");               
                  Destination destination = (Destination) jndiContext.lookup("QUEUE/MYQUEUE");        
              Connection connection = connectionFactory.createConnection();
              Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);if only I go to the activeqm/bin folder and open the broker.If I did that in the previous code(with no jndi prop)
    there was an exception that was saying that the port was already used.So I do not understand why in the one case opening broker is necessary for the connection and on the other hand it causes a problem.
    Moreover in the case that I invoke broker from bin folder. In this case I would like to ask a question.The activemq.xml is necessary? If yes it is there where we define the queue?
    If not where else apart from the jndi.properties do we define queue?
    Please if is possible provide me with an example of the necessary places that we define a queue.
    Thank you

  • Topics and Clustered Environment

    Hi,
    We have an application that is to be hosted on a clustered environment (2 nodes), for load balancing/fail over. This application consumes JMS messages (from Sonic JMS via Foreign Server).
    During development (single node), we have had our application consuming messages from a Topic, meaning that several environments could get copies of the same message. In the clustered environment however, we would only want one of the application pair to consume and process any one message (not both).
    The question is - is this possible using Topics? If so, how is it done (using either MDBs or Spring JMS)?
    Another option would be to use an intermediate Queue, which consumes messages from a Topic, and the application pair then consume messages from this Queue meaning only one will get any particular message. Is this a good way to go?
    If anything is not clear, please let me know and i'll try and clarify.
    Thanks for any advice...

    Another option would be to use an intermediate Queue, which consumes messages from a Topic, and the application pair then consume messages from this Queue >meaning only one will get any particular message. Is this a good way to go?This looks feasable, only issue would be there is nothing out of the box in wls which gets the message from the remote topic to the queues. You will have to use either a message bridge or a pass thru mdb targeted on a single server to get this done. You might have to then worry about HA if this server goes down. Any how wait for Tom who might be here soon with the expert advice..

  • Service Bus Forward From Topic to Queue using wcf

    I’m trying to send a message to a topic and have it forwarded to a queue (which I have a wcf service connected to the queue). 
    If I send the message directly to the queue it works fine, however if I send it to a topic which has a subscription that forwards it to the queue, it just sits in the queue. 
    Is there something I’m missing in the configuration for the wcf service to receive the forwarded messages?

    Doing a wcf trace I was seeing a filter mismatch.  Not sure why it works when I send it directly to a queue and doesn't when it's forwarded from a topic.  But by setting the AddressFitlerMode to any seemed to let me do forwarding with wcf. This
    doesn't seem like the clean solution but it works for now.

  • JMS Topics and Selectors

    I'm running into a problem when using JMS Topics and selectors.
    If I just use:
    subscriber = session.createSubscriber(topic);
    everything works fine.
    However, if I use
    subscriber = session.createSubscriber(topic, "Property = 'Value'", false);
    I get an invalid topic exception from EvermindTopicSession.createSubscriber() line 84.
    I'm using OC4J 9.0.3 standalone.
    What might I be doing wrong?

    [bump]
    Incidentally, I've also noticed that JMSTimestamp is not set. I've even tried setDisableTimestamp(false). The timestamp still won't be set. I can set the timestamp manually myself using setJMSTimestamp. Also, message time to live doesn't seem to work with Topics (not sure about queues).
    Is this a well known problem?
    Is it an OC4J problem or a JMS problem?

  • How can we get Dynamic columns and data with RTF Templates in BI Publisher

    How can we get Dynamic columns and data with RTf Templates.
    My requirement is :
    create table xxinv_item_pei_taginfo(item_id number,
    Organization_id number,
    item varchar2(4000),
    record_type varchar2(4000),
    record_value CLOB,
    State varchar2(4000));
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'USES','fever','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'HOW TO USE','one tablet daily','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'SIDE EFFECTS','XYZ','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'DRUG INTERACTION','ABC','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'OVERDOSE','Go and see doctor','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'NOTES','Take after meal','TX');
    select * from xxinv_item_pei_taginfo;
    Item id Org Id Item Record_type Record_value State
    493991     224     1265-D30     USES     fever     TX
    493991     224     1265-D30     HOW TO USE     one tablet daily     TX
    493991     224     1265-D30     SIDE EFFECTS     XYZ     TX
    493991     224     1265-D30     DRUG INTERACTION     ABC     TX
    493991     224     1265-D30     OVERDOSE      Go and see doctor     TX
    493991     224     1265-D30     NOTES     Take after meal     TX
    Above is my data
    I have to fetch the record_type from a lookup where I can have any of the record type, sometime USES, HOW TO USE, SIDE EFFECTS and sometimes some other set of record types
    In my report I have to get these record typpes as field name dynamically whichever is available in that lookup and record values against them.
    its a BI Publisher report.
    please suggest

    if you have data in db then you can create xml with needed structure
    and so you can create bip report
    do you have errors or .... ?

  • Reading XML file into Dynamic Node and Display its output as Table.

    Hi All,
    Following is the output of XML file:
       <Company>
         <Employee>
              <Name>John</Name>
              <Age>23</Age>
              <***>Male</***>
              <Location>Frankfurt</Location>
         </Employee>
         <Employee>
              <Name>Tina</Name>
              <Age>21</Age>
              <***>Female</***>
              <Location>Boston</Location>
         </Employee>
         <Department>
              <Name>Sales</Name>
              <HQ>Chicago</HQ>
              <Emplyoees>2300</Employees>
         </Department>     
    I'm able to read the output through DOM parser. But How do I convert this into dynamic node and display this in Web dynpro as Table?
    Any pointers in this regard will be great help?
    Thanks
    Srikant

    Hi Maksim,
    I've used your example and its now helping as there is kind of agreement on that I'll be knowing the structure of Xml and I can fill the nodes.
    But suppose if you have Xml has following structure :
    <?xml version="1.0" encoding="utf-8"?><DATA>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CONTRACT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CREDIT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">EMPRESS</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PAYMENT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PRICE</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    </DATA>
    How we will do in this case?
    Can we have something similar using DOM? Also what is the best method for displaying data being sent in form of XML. And generalize it for cases like this.
    Thanks
    Srikant

  • Dynamic SQL and Data with Single Quotes in it.

    Hi There,
    I have a problem in that I am using dynamic SQL and it happens that one of the columns does contain single quotes (') in it as part of the data. This causes the resultant dynamic SQL to get confused as the single quote that is part of the data is taken to mean end of sting, when in fact its part of the data. This leaves out a dangling single quote that was meant to enclose the string. Here is my dynamic SQL and the result of the parsed SQL that I have captured:
    ****Dynamic SQL*****
    l_sql:='select NOTE_TEMPLATE_ID '||
    'FROM TMP_NOTE_TEMPLATE_VALUES '||
    'where TRIM(LEGACY_NOTE_CODE)='''||trim(fp_note_code)||''' '||
    'and TRIM(DISPLAY_VALUE)='''||trim(fp_note_text)||''' ';
    execute immediate l_sql INTO l_note_template_id;
    Because the column DISPLAY_VALUE contains data with single quotes, the resultant SQL is:
    ******PARSED SQL************
    select NOTE_TEMPLATE_ID
    FROM TMP_NOTE_TEMPLATE_VALUES
    where TRIM(LEGACY_NOTE_CODE)='INQ' and TRIM(DISPLAY_VALUE)='Cont'd'
    And the problem lies with the single quote between teh characters t and d in the data field for DISPLAY_ITEM. How can I handle this?
    Many thanks,

    I have been reliably informed that if one doesn't enclose char/varchar2 data items in quotes, the right indices may not be usedI am into oracle for past 4 years and for the first time i am hearing this.
    Your reliable source is just wrong. Bind variables are variables that store your value and which are used in SQL. They are the proper way to use values in your SQL. By default all variables in PL/SQL is bind variable.
    When you can do some thing in just straight SQL just do it. Dynamic SQL does not make any sense to me here.
    Thanks,
    Karthick.

Maybe you are looking for