Buffered messaging AnyData OCCI&OCI

Hello everybody, I have two questions:
- Is it true OCCI can't be used with buffered messaging?
- Any idea where can I find an example of enqueuing/dequeuing AnyData buffered queue using OCCI/OCI?

The OCI manual documents (a little) buffered messages on 9-45, and shows an example of enqueue/dequeue in this mode. This uses the same APIs, with different options, just like in PL/SQL.
OTOH, a quick look at the OCCI manual and the Producer/Consumer/Message/Agent classes doesn't show any obvious way to achieve what OCI allows.
As usual for OCCI, they've done a nice encapsulation of message queuing, but because they often don't expose as many features as OCI does, and is an opaque API with little flexibility, you often get stuck. Examples include:
* lack of XMLType support
* you can't bind/define an AnyData in Statement/ResultSet.
* you can't mix OCI object processing with the OCCI one, despite having access to the raw OCI handles, because the initialize Object Mode in an incompatible way, to work around the XMLType issue.
OCI is quite a bit harder to use, but unlike OCCI does not lag in feature support. --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • Buffered Messaging Problem

    I'm just starting out with Streams and was working with the example in Chapter 23 of "Oracle Streams Advanced Queuing User's Guide and Reference".
    It works. Then I decided I wanted to use a buffered queue for non-LCR messaging. So I changed the enq_proc such that
    enqopt.delivery_mode := DBMS_AQ.BUFFERED;
    enqopt.visibility := DBMS_AQ.IMMEDIATE;
    The procedure compiles on 10.2.0.1 on Windows XP but when I try to enqueue an ANYDATA message here's what I get:
    BEGIN
    oe.enq_proc(ANYDATA.convertobject(oe.order_event_typ(
    2500,'05-MAY-01','online',117,3,44699,161,NULL,'APPLY')));
    END;
    BEGIN
    ERROR at line 1:
    ORA-25292: Buffer operations are not supported on the queue
    ORA-06512: at "SYS.DBMS_AQ", line 243
    ORA-06512: at "OE.ENQ_PROC", line 11
    ORA-06512: at line 2
    Part of Metalink doc id 230901.1 says "In 10.2 a new feature was added for Oracle Streams AQ called Buffered Messaging. Buffered messaging enables users and applications to enqueue messages into and dequeue messages from a buffered queue." but I'm not finding out exactly how to do that.
    Any help is greatly appreciated.

    If I understand the problem correctly...
    I think you might want either one of the two things:
    1. create a new instance of your object instead of re-using the one already sent.
    2. if you HAVE to re-use the same object, you must clear the object client-side, otherwise its signature will remain the same, and the receiver will figure it's already been downloaded. You must then implement a separate flag to tell the receiver that the data has changed.
    Hope this helps,
    Eric

  • [svn] 4028: Bug: Draining of buffered messages doesn' t work correctly with long-polling.

    Revision: 4028
    Author: [email protected]
    Date: 2008-11-06 09:04:26 -0800 (Thu, 06 Nov 2008)
    Log Message:
    Bug: Draining of buffered messages doesn't work correctly with long-polling.
    QA: Yes - please make sure both nio and regular long-polling channels work with throttling.
    Doc: No
    Checkintests: Pass.
    Details: Made sure that buffered messages are drained properly with all polling channels (polling, long-polling, and nio-long-polling).
    Modified Paths:
    blazeds/trunk/modules/core/src/flex/messaging/client/FlexClient.java

    Sounds like you've probably already looked but the CUPS article in the wiki led me through setting up a printer without any problems.  http://wiki.archlinux.org/index.php/CUPS
    The first section describes how to troubleshoot CUPS and printing problems.
    I've also found a few other posts and links that may help.
    http://hplipopensource.com/hplip-web/mo … eries.html
    http://ubuntuforums.org/showthread.php?t=419163
    Hope this helps!

  • Not Found RTMP streams and Buffering Message

    I'd like to provide our clients with something that indicates that a VOD file isn't found when requested via RTMP.
    Using the Strobe player, the default behavior from FMS 4.5 is to throw up a continuous "Buffering" message when the file isn't found.
    When it's a live stream, we can control the return a response with FCSubscribe; so if it's not there, we can send back a response. HTTP (HDS/HLS) do return a file not found when requesting a missing file.
    I tried this from a stock version of FMS using the /vod directory and any time that I place in a vod rtmp location that doesn't exist I get a buffering message.
    I know that I could add a timeout to the client side - but I'm trying to stick to stock OSMF and make it work from the server side with multiple players.
    Is there server side actionscript /or c++ plugin that I can add that will check the presence of the file and return a "not found" when the play is requested?
    How/where would I exactly add that? Seems realitively simple, but not seeing any reference or information about how to set it up.
    Much thanks in advance.
    -Will

    Thank you for the response.
    Not getting that response from the stock version of FMS 4.5:
    1320069319931: *** NetConnection.Connect.Success ****)
    1320069319936: Manual switching enabled
    1320069319936: buffer length: 5
    1320069319937: play() called. isLive = false, is multibitrate = false
    1320069319938:     PlayArgs:[object DynamicStreamBitrate]
    1320069319940: Set rate limit to 1 kbps
    1320069319940: Starting with stream index 0 at 1 kbps
    1320069319941: Transition complete to index 0 at 1 kbps
    1320069319942: ***_ NetStream.Play.TransitionComplete ***
    1320069320138: *** onNetStatus: NetStream.Play.Reset
    1320069320139: *** onNetStatus: NetStream.Play.Start
    This is using an OVP player base - the strobe player just spins as well.
    The issue appears with a stock version of FMS, and the stock OSMF Strobe Playback.
    So should I report this as an FMS 4.5 and OSMF issue?
    Thanks.

  • Does Oracle provide public Symbol Files (PDB) for OCCI/OCI ?

    When debugging an application under Windows (with Visual Studio or WinDBG) that makes use of OCCI it would often be convenient if there be symbol files (PDB files) for the Oracle OCI/OCCI libraries. ( [public symbol files|http://msdn.microsoft.com/en-us/library/ff553493%28VS.85%29.aspx] , just as Microsoft makes available for all system libraries)
    Does Oracle provide these?
    thanks,
    Martin

    Hi,
    I have this bug opened http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7191593 and http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175004.
    I also opened Jetty bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=335813 and It sounds like it is a JVM on windows 2008 problem..
    In order to investigate it further I also need these .pdb files which I am trying to get with no success (http://stackoverflow.com/questions/12265573/looking-for-java-pdb-files-analyze-a-crash-hdmp-file)
    Thanks.

  • Dequeue with OCCI does not remove the message from the queue

    Hey there,
    I have this problem where no matter what dequeue option I try the messages never seem to be removed from the queue... I tried looking around and found only a similar un-answered question...
    Thanks in advance...
    void TryAnydataDequeue(oracle::occi::Connection * conn)
         try
              std::cout << "Dequeue Commence..." << std::endl;
              Consumer cons(conn);
              //Settings de dequeue
              cons.setCorrelationId("SPPC");
              cons.setQueueName("Anydata_queue");
              cons.setConsumerName("SNOOP");
              cons.setDequeueMode(cons.DEQ_REMOVE);
              //cons.setDequeueMode(cons.DEQ_LOCKED);
              std::cout << "Reception du message..." << std::endl;
              Message m2 = cons.receive(Message::ANYDATA);
              AnyData any(conn);
              any = m2.getAnyData();
              if(!any.isNull())
                   oracle::occi::TypeCode type = any.getType();
                   if(type == OCCI_TYPECODE_VARCHAR2)
                        std::string msg = any.getAsString();
                        std::cout << "Message Reçu: ";
                        std::cout << msg << std::endl;
                   else
                        std::cout << "Format du message invalide..." << std::endl;
                   std::cout << "Fin du message... (Press a key)" << std::endl;
              else
                   std::cout << "Message invalide..." << std::endl;
              System::String * theInput = System::Console::ReadLine();
         catch(SQLException ex)
              std::cout << "Exception: " << ex.getErrorCode() << " - " << ex.getMessage() << std::endl;
              System::String * tnput = System::Console::ReadLine();
    }

    The message from the queue will be removed when you do a commit after a successful dequeue call, depending upon your message retention settings.
    After you have done this processing and successfully performed a commit, what is the output of the following query:
    SQL> connect AQADMIN/password
    SQL> select msg_state from aq$<your_queue_table_name_goes_here> ;?
    If it is PROCESSED, check your queue retention settings.
    Additionally, make sure that the init.ora parameter AQ_TM_PROCESSES is set to a NON-ZERO value for this to happen.

  • Persisting Messages in Buffered Queues

    Hello Everyone,
    As per the oracle documentation http://docs.oracle.com/cd/B28359_01/server.111/b28321/strms_prop.htm#i1006905
    LCRs that were captured by a capture process are always stored in a buffered queue, but LCRs that were captured by a synchronous capture are always stored in a persistent queue.
    This means that if we use Capture process and server goes down( or is restarted), we will loose those messages in buffered queues as messages are stored in memory.
    1) Is there a way to force capture process to persist the message into persistent queue?
    2) Is there a way to recover the messages from buffered queue when we restart the server?
    Please let me know if you have some ideas / some insights for above two cases.
    Thanks
    Nithin
    Edited by: 906226 on Jan 5, 2012 11:20 AM

    Hello,
    This is really a Streams question.
    When the database goes down the buffered messages are lost. However when the instance restarts the Capture re-mines the redo logs from the required_checkpoint_scn and then re-enqueues the LCRs. The apply also keeps track of where it was at via the apply progress So nothing is lost in the Streams scenario when an instance goes down. This is discussed in the documentation.
    In the AQ world if you are using a buffered queue then the messages would be lost and the application would have to handle that situation.
    Thanks
    Peter

  • Weird OCCI crash when creating a connection

    Hi Forum Users,
    I wonder if anyone experienced weird occassional crashes deep inside the OCCI / OCI like the one described below, and have any clues how to avoid them?
    I work in a environment where my backend server connects to a load-balanced cluster built on Oracle 11.
    The server uses OCCI to connect to that cluster, the connection is resolved by service name and tnsnames.ora. The OS is RHEL5.2 running on kernel 2.6.18-92.el5 #1 SMP.
    The Oracle version is: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    My server uses libraries (an excerpt from ldd's output):
    libclntsh.so.11.1 => /(...)/lib/oracle_v11.1/instantclient/lib/libclntsh.so.11.1 (0x00002b4e793a8000)
    libnnz11.so => /(...)/lib/oracle_v11.1/instantclient/lib/libnnz11.so (0x00002b4e7b94a000)
    libocci.so.11.1 => /(...)/lib/oracle_v11.1/instantclient/lib/libocci.so.11.1 (0x00002b4e7bd9d000)
    libociei.so => /(...)/lib/oracle_v11.1/instantclient/lib/libociei.so (0x00002b4e7bfcd000)
    Normally the server runs fine, connecting to the database every couple of minutes.
    Occassionally however, I see crashes deep inside the OCCI while creating a connection; all parameters passed to the createConnection are fine, and this crash occurs usually after a couple of days of running and hundreds of connections made; the server is a multi-threaded application so the Oracle environment object is created with the THREADED_MUTEXED type. But threads do not contribute to the issue as I have once seen the same crash at the very beginning, with the 1st connection, when there were no threads yet.
    The pattern for the crash is always the same, and the application logs the parameters used in a call to createConnection before calling it and they are always OK.
    Nevertheless I made several tests, passing garbage there and it never gave a crash - always an error message (even tried messing the string and using a deleted environment - always without a crash).
    Weird thing is it happens so deep in the call chain, that's why I kind of doubt it is my server's failure.
    Now the crash stack trace:
    (signal handler calls stripped; sorry for the formatting, it's the only one I have - taken from the Oracle incident report of the ADR DIAG feature; best copy & paste to an editor that uses fixed-width font):
    000000365FE0DE70 call skgesig_sigactionHa 00000000B ? 04355ABF0 ?
    ndler() 000000000 ? 2AAAAC0E5BC0 ?
    000000000 ? 000000000 ?
    memcpy()+210 signal 000000365FE0DE70 01EED7F50 ? 2AAB300BB000 ?
    000000130 ? 000000000 ?
    000000011 ? 000000000 ?
    intelfast_memcpy. call memcpy() 000000029 ? 2AAB300BB000 ?
    A()+6 000000130 ? 000000000 ?
    000000011 ? 000000000 ?
    nsdo()+1296 call intelfast_memcpy. 000000029 ? 2AAB300BAF00 ?
    A() 000000130 ? 000000000 ?
    000000011 ? 000000000 ?
    nscon()+2104 call nsdo() 2AAB300BAF00 ? 000000000 ?
    2AAB300BAF00 ? 04355FF98 ?
    04355ED2C ? 000000002 ?
    nsdo()+1585 call nscon() 01EF74878 ? 000000043 ?
    2AAB300BAF00 ? 04355FF98 ?
    000000011 ? 2B5700000000 ?
    nsfull_sd()+47 call nsdo() 01EF74878 ? 000000043 ?
    2AAB300BAF00 ? 04355FF98 ?
    04355FF20 ? 000000000 ?
    nssend()+95 call nsfull_sd() 01EF74878 ? 2AAB300BAF00 ?
    04355FF20 ? 04355FF98 ?
    000000000 ? 000000000 ?
    nscall2()+185 call nssend() 01EF74878 ? 000000000 ?
    04355FF20 ? 04355FF98 ?
    000000011 ? 000000000 ?
    nsevdcall()+431 call nscall2() 01EF74878 ? 000000000 ?
    000000000 ? 04355FF98 ?
    000000000 ? 000000000 ?
    nsevrec()+747 call nsevdcall() 01E07A240 ? 2AAB3009BBC0 ?
    043560F58 ? 000000000 ?
    01EF748F0 ? 000000000 ?
    nsevwait()+3111 call nsevrec() 01E07A240 ? 2AAB3009BBC0 ?
    000000020 ? 043561988 ?
    000000011 ? 100000000 ?
    nsevwtsg()+3185 call nsevwait() 01E07A240 ? 043561980 ?
    043561988 ? 000000000 ?
    000000000 ? 100000000 ?
    niotns()+5611 call nsevwtsg() 000000000 ? 01EF74878 ?
    12200000000 ? 000000000 ?
    000000000 ? 100000000 ?
    nigcall()+57 call niotns() 0435645E8 ? 000000000 ?
    2B571C1444A0 ? 000000FA0 ?
    01E1E2DE8 ? 01E1DEF58 ?
    osncon()+1106 call nigcall() 0435645E8 ? 000000000 ?
    2B571C1444A0 ? 000000FA0 ?
    01E1E2DE8 ? 01E1DEF58 ?
    kpuadef()+55 call osncon() 0435645E8 ? 000000000 ?
    2B571C1444A0 ? 000000FA0 ?
    01E1E2DE8 ? 01E1DEF58 ?
    upiini()+779 call kpuadef() 0435645E8 ? 000000000 ?
    2B571C1444A0 ? 2B571C1444A0 ?
    000000FA0 ? 0435645E8 ?
    upiah0()+36 call upiini() 000001803 ? 01EECEED8 ?
    000000122 ? 000000000 ?
    01E20CC90 ? 000000001 ?
    kpuatch()+1399 call upiah0() 000001803 ? 01EECEED8 ?
    000000122 ? 000000000 ?
    01E20CC90 ? 000000001 ?
    kpuspsessionget()+2 call kpuatch() 01E1DEDD8 ? 01E1ED348 ?
    539 01E5C7098 ? 000000000 ?
    000000000 ? 000000000 ?
    OCISessionGet()+280 call kpuspsessionget() 01E20CB80 ? 01E1ED348 ?
    01E50A6F0 ? 01E25F858 ?
    01E5C7098 ? 00000000A ?
    _ZN6oracle4occi14Co  call     OCISessionGet()      01E20CB80 ? 00000000A ?
    nnectionImpl14openC 1E25F85800000000 ?
    onnectionEP6OCIEnvP 000000000 ? 01E5C7098 ?
    8OCIErrorPvjS6_jS6_ 00000000A ?
    jS6_jjS6_jNS0_10Con
    nection6PurityE()+1
    012
    ZN6oracle4occi14Co  call     ZN6oracle4occi14Co 00000000A ? 01E20CB80 ?
    nnectionImplC9EPNS0 nnectionImpl14openC 01E1ED348 ? 01EF740A8 ?
    _15EnvironmentImplE onnectionEP6OCIEnvP 00000000B ? 01E60EE38 ?
    RKSsS5_S5_()+295 8OCIErrorPvjS6_jS6_
    jS6_jjS6_jNS0_10Con
    nection6PurityE()
    ZN6oracle4occi14Co  call     ZN6oracle4occi14Co 01E50A6D8 ? 01E60EE38 ?
    nnectionImplC1EPNS0 nnectionImplC9EPNS0 00000000B ? 01E5C7098 ?
    _15EnvironmentImplE _15EnvironmentImplE 043569E80 ? 01E60EE38 ?
    RKSsS5_S5_()+6 RKSsS5_S5_()
    ZN6oracle4occi15En  call     ZN6oracle4occi14Co 01E50A6D8 ? 01E50A7A0 ?
    vironmentImpl16crea nnectionImplC1EPNS0 00000000B ? 01E5C7098 ?
    teConnectionERKSsS3 _15EnvironmentImplE 043569E80 ? 01E60EE38 ?
    S3()+111 RKSsS5_S5_()
    (some application code follow)

    I am seeing the exact same behavior. Did you get a solution / explanation to your problem?
    Please respond

  • Buffering An External .FLV In AS3

    Hello guys,
    I have this AS for playing external .flv movies from various
    buttons...
    vid1_btn.addEventListener(MouseEvent.CLICK, clickVid1);
    vid2_btn.addEventListener(MouseEvent.CLICK, clickVid2);
    vid3_btn.addEventListener(MouseEvent.CLICK, clickVid3);
    vid4_btn.addEventListener(MouseEvent.CLICK, clickVid4);
    function clickVid1(evt:MouseEvent):void {
    MovieClip(this.root).player.source = "./movies/vid1.flv";
    function clickVid2(evt:MouseEvent):void {
    MovieClip(this.root).player.source = "./movies/vid2.flv";
    function clickVid3(evt:MouseEvent):void {
    MovieClip(this.root).player.source = "./movies/vid3.flv";
    function clickVid4(evt:MouseEvent):void {
    MovieClip(this.root).player.source = "./movies/vid4.flv";
    How can I add an 8 second buffer time to this? And is it
    possible to add a "buffering" message, such as using the Buffering
    Bar Component?
    Thank you in advance...
    Ian

    if you're using the flvplayback class you can use its
    bufferTime property and the videoevent class to detect buffering
    (and other events that you'll probably need to use).

  • JMS ignoring settings to send a message as non-persistent

    I'm trying to send a BUFFERED (as opposed to PERSISTENT) message using JMS. I
    would expect the Oracle implementation of JMS to map the JMS
    non-peristent delivery mode in the Oracle BUFFERED delivery mode.
    However, try as I might JMS always sends messages as
    persistent, sample below. Is there any way I can send a BUFFERED AQ message
    using JMS?
    import javax.jms.*;
    import oracle.jms.*;
    import oracle.xdb.*;
    public class jmsbuftest
    public static void main (String args [])
    throws java.sql.SQLException, ClassNotFoundException, JMSException
    try
    String ora_sid = "***";
    String host = "***";
    String schema = "***";
    String password = "***";
    String queueName = "***";
    int port = 1521;
    Enqueue(ora_sid, host, schema, password, queueName, port);
    System.out.println("You should see 3 messages in " + queueName.
    They should be buffered but are persistent instead");
    catch (Exception ex)
    System.out.println("Exception: " + ex);
    public static void Enqueue(String ora_sid, String host,
    String schema, String password, String queueName, int port)
    QueueConnectionFactory qc_fact = null;
    QueueConnection q_conn = null;
    QueueSession q_sess = null;
    java.sql.Connection db_conn = null;
    Queue queue = null;
    AdtMessage adt_msg = null;
    QueueSender q_sender = null;
    oracle.xdb.XMLType xtype = null;
    String data = null;
    try
    qc_fact = AQjmsFactory.getQueueConnectionFactory(host,
    ora_sid, port, "thin");
    q_conn = qc_fact.createQueueConnection(schema, password);
    q_sess = q_conn.createQueueSession(true,
    Session.CLIENT_ACKNOWLEDGE);
    q_conn.start();
    db_conn = ((AQjmsSession)q_sess).getDBConnection();
    queue = ((AQjmsSession)q_sess).getQueue(schema, queueName);
    q_sender = q_sess.createSender(queue);
    adt_msg = ((AQjmsSession)q_sess).createAdtMessage();
    data = "<bolek>olek</bolek>";
    xtype = oracle.xdb.XMLType.createXML(db_conn, data);
    adt_msg.setAdtPayload(xtype);
    //try sending a buffered message, different ways, none of them
    works!
    ((AQjmsQueueSender)q_sender).send(queue, adt_msg,
    DeliveryMode.NON_PERSISTENT, 1,
    AQjmsConstants.EXPIRATION_NEVER);
    q_sender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
    ((AQjmsQueueSender)q_sender).send(queue, adt_msg,
    DeliveryMode.NON_PERSISTENT, 1,
    AQjmsConstants.EXPIRATION_NEVER);
    adt_msg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
    ((AQjmsQueueSender)q_sender).send(queue, adt_msg,
    DeliveryMode.NON_PERSISTENT, 1,
    AQjmsConstants.EXPIRATION_NEVER);
    q_sess.commit();
    q_sess.close();
    q_conn.close();
    catch (Exception e)
    System.out.println("Exception: " + e);
    }

    I believe you need to use the Oracle specific methods with "buffer"in their name,
    ie. (AQjmsProducer) bufferSend and (AQjmsProducer) bufferPublish. (Page 11-15 of Oracle® Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) )
    So far I've been producing my buffered messages in PL/SQL. I'm receiving them using (AQjmsConsumer) .bufferReceive.
    These require using the (now recommended) generic objects (not specific to Queue or Topic) ConnectionFactory, Connection, Session, MessageProducer.
    I have tried to send buffered messages, and got close, but not got it to work. My core code is:
    ConnectionFactory cfact = AQjmsFactory.getConnectionFactory(args[1], args[0], Integer.parseInt(args[2]), args[3]);
    Connection conn = cfact.createConnection(SCHEMANAME, SCHEMAPWD); // user& password
    // Send buffered probably needs non-transacted session
    Session sess = conn.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
    conn.start();
    Queue queue = ((AQjmsSession)sess).getQueue(SCHEMANAME, QUEUENAME);
    AQjmsProducer q_sender = (AQjmsProducer) sess.createProducer(queue);
    q_sender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
    TextMessage txtmsg = sess.createTextMessage();
    txtmsg.setText("Cars Distribution");
    txtmsg.setJMSType("glopt");
    txtmsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
    q_sender.bufferSend(queue, txtmsg, 1,600);
    Unfortunately I get errors :
    JMS-204: An error occurred in the AQ JNI layer
    JMS-242: Illegal attempt to enqueue message with both immediate visibility and three phase enqueue process.
    It looks like I need to set visibility immediate, but I don't know how to do that in JMS. The AQjmsProducer.bufferSend API documentation says "When the in-memory queue is used, the enqueue operation is required to be in immediate visibility mode"
    The queue create for this example was:
    exec DBMS_AQADM.DROP_QUEUE_TABLE('DBEVENTQ_TABLE', force => true);
    begin DBMS_AQADM.CREATE_QUEUE_TABLE(
    Queue_table => 'DBEVENTQ_TABLE',
    Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE',
    Multiple_consumers => FALSE,
    message_grouping => DBMS_AQADM.NONE,
    Compatible => '10.0'
    end;
    begin DBMS_AQADM.CREATE_QUEUE(
    Queue_name => 'DBEVENTQ',
    Queue_table => 'DBEVENTQ_TABLE',
    Queue_type => DBMS_AQADM.NORMAL_QUEUE,
    Max_retries => 5,
    Retry_delay => 0,
    retention_time => 0 /* dont retain messages */
    end;
    exec DBMS_AQADM.START_QUEUE ('DBEVENTQ');
    If you get past this JMS-242: Illegal attempt to enqueue message with both immediate visibility and three phase enqueue process, please tell me.
    Regards, David

  • Message Services

    scenario
    SAP -> PI -> MII -> Legacy system folder
    PI to MII using webservice
    MII to Legacy system folder using FTP
    Requirement: Send messages to legacy system from MII in order MII have received from PI system. And Need Message Monitoring which comes with Message services.
    Questions:
    Which is the better approach using Rule based Message Listener or Category based Message Listener.
    Can we use the Message service Actions for Rule based Message Listener and how does it work.
    How can we make sure that MII processes the messages in order it has received from PI.
    In Rule based message listener does MII buffers the messages received from PI.
    Any related document which clearly gives a step by step process for the above.
    Appreciate your help.
    Srinu

    Hi Srini,
    Both types ie categorized and Transaction will work for your cases. MII will process them in the sequence received from PI.
    You can use transaction for immediate processing however if you want to refer to these buffered message from MII i future, use category based processing and store the messageid for each,via which you could access them from a transaction via ReadMessage.
    Regards,
    Satpreet SIngh

  • RAC OCCI connectString

    Dear all,
    Recently i have set up a 2-node RAC environment, and i will put the my application on the local host. The rac database global name: agdb.world, the 2 instances respectively are agdb1 and agdb2. i also use the DBCA to create a service name ag_db.
    tnsnames.ora:
    ag_db=
    (description =
    (address=(protocol=tcp)(host=myip1)(port=1521))
    (address=(protocol=tcp)(host=myip2)(port=1521))
    (load_balance=yes)
    (connect_data=
    (server = dedicated)
    (service_name = agdb.world)
    In my occi application, i use the connectString //localhost:1521/ag_db to connect to my RAC database, and i got the following error:
    ORA-12514: TNS:listener does not currently know of service requested in connect
    descriptor.
    I also use the "tnsping ag_db", it is OK, even use the "sqlplus user/pass@ag_db", it is OK too. But when i input the "sqlplus user/pass@//localhost:1521/ag_db", i got the ORA-12514 too.
    Can anyone give me a hint?
    thanks

    Having looked into this matter myself there is a concern
    about fail over with OCI or OCCI. Isn't there suppose to be
    something in the tnsnames that specifies TAF failover. In
    other words if one node goes down there has to be something
    in the tnsnames that tells the OCCI app which node to route
    to. I just looked into this and there were some talk about OCCI
    & OCI and failover, which I would like some clarification on as
    well.

  • Zen X-Fi buffering problems with Creative Centrale Media Server

    ? I have set up Creative Centrale as a Media Server, and can view all the folders (music, photo etc) wirelessly on my Zen X-Fi 6GB. However, when trying to play music, I get a quick message on the player saying 'buffering', then nothing happens. When trying to view photos, it displays a blank screen.
    Any help much appreciated.
    Cheers

    C Sorry to bump this, but I am having the same problem and have not got any useful help from creative support. I am able to connect to the Centrale media server and see the files in the library, but I am getting the same brief "Buffering" message, then nothing. I can stream through the Creative MediaBox option with no problems. Any advice would be very [email protected]

  • Protocol Buffers support in TTCN-3 Titan

    Greetings.
    ASN.1 is a language for describing structured information and the way this information is sent across dissimilar communication systems. The structured information is encoded in binary. ASN.1 used to be popular in telecommunications but nowadays is not considered to be cool. In comparison, Protocol Buffers are a mechanism to describe structured information and encoding it in binary, and yes, unlike ASN.1 ,Protocol Buffers are hot.
    For years, the Earth was ruled by so called human-readable protocols , such as XML and JSON. It appears that humanity got bored of reading all that stuff, so we experience a return to binary encodings. (Either that, or machine-to-machine communication outweighs machine-to-human, and machines don't want us to meddle.)
    Anyhow, let's see how Protocol Buffers are supported in the Titan implementation of TTCN-3.
    Support comes in the form of scripts, PBPMG.sh and PBPMG.awk (see https://github.com/eclipse/titan.ProtocolModules.ProtoBuff )
    (where PBMG resolves as Protocol Buffer Protocol Module Generator -the PBPMG is currently based on the version 2.5.0 version of the Google Protocol Buffers);
    the PBMG.sh , when invoked, generates the TTCN-3 equivalent of the ProtoBuff file:
    For example
    PBPMG.sh protobuf.proto
    where the content of protobuf.proto is:
    package protobuf;
    message Request {
    required int32 command_id = 1;
    required int32 request_data_length = 2;
    required bytes request_data = 3;
    optional bytes attachment = 4;
    repeated string properties = 5;
    message Response {
    required int32 command_id = 1;
    required int32 response_status = 2;
    required int32 response_data_length = 3;
    required bytes response_data = 4;
    optional bytes attachment = 5;
    repeated string properties = 6;
    will generate the following protobuf.ttcn file:
    // TTCN-3 module generated from protobuf.proto
    module protobuf {
    // imports
    import from ProtoBuff_Types all;
    // public imports
    // encoder/decoder function declaration
    external function f_encode_protobuf_Request(in protobuf_Request pdu) return octetstring
    external function f_decode_protobuf_Request(in octetstring pdu) return protobuf_Request
    external function f_encode_protobuf_Response(in protobuf_Response pdu) return octetstring
    external function f_decode_protobuf_Response(in octetstring pdu) return protobuf_Response
    // definitions for enums
    // definitions for messages
    type record protobuf_Request{ // Request
    int32 command_id,
    int32 request_data_length,
    bytes request_data,
    bytes attachment optional,
    record of string properties
    type record protobuf_Response{ // Response
    int32 command_id,
    int32 response_status,
    int32 response_data_length,
    bytes response_data,
    bytes attachment optional,
    record of string properties
    plus the codecs protobuf_EncDec.cc, protobuf_EncDec.hh.
    The codecs are not based on the built-in binary codec , they are custom functions.
    Now we have everything to represent and encode/decode Protocol Buffers structures.
    module protobuff_test {
    // imports
    import from ProtoBuff_Types all;
    import from protobuf all;
    template protobuf_Request t_Request:= { // Request
    command_id := 10,
    request_data_length:= 20,
    request_data := 'AABBCCDDEEFF'O ,
    attachment:= 'AAAAAABBBBBB'O ,
    properties := {"AA","BB"}
    template protobuf_Response t_Response:= { // Response
    command_id := 10,
    response_status:= 100,
    response_data_length:= 20,
    response_data := 'AABBCCDDEEFF'O ,
    attachment:= 'AAAAAABBBBBB'O ,
    properties := {"AA","BB"}
    control
    log(f_encode_protobuf_Request(valueof(t_Request)))
    log(f_decode_protobuf_Request(f_encode_protobuf_Request(valueof(t_Request))))
    log(f_encode_protobuf_Response(valueof(t_Response)))
    log(f_decode_protobuf_Response(f_encode_protobuf_Response(valueof(t_Response))))
    The above code, when extracted, compiled and executed:
    cd ProtoBuff
    cd /bin
    ../install.script
    make
    ./proto
    will encode/decode back and forth the messages , as seen in the log file:
    13:12:06.020216 protobuff_test.ttcn:30 Execution of control part in module protobuff_test started.
    13:12:06.020256 protobuff_test.ttcn:33 '080A10141A06AABBCCDDEEFF2206AAAAAABBBBBB2A0241412A024242'O
    13:12:06.020345 protobuff_test.ttcn:34 { command_id := 10, request_data_length := 20, request_data := 'AABBCCDDEEFF'O, attachment := 'AAAAAABBBBBB'O, properties := { "AA", "BB" } }
    13:12:06.020405 protobuff_test.ttcn:36 '080A106418142206AABBCCDDEEFF2A06AAAAAABBBBBB3202414132024242'O
    13:12:06.020448 protobuff_test.ttcn:37 { command_id := 10, response_status := 100, response_data_length := 20, response_data := 'AABBCCDDEEFF'O, attachment := 'AAAAAABBBBBB'O, properties := { "AA", "BB" } }
    13:12:06.020489 protobuff_test.ttcn:37 Execution of control part in module protobuff_test finished.
    Using the appropriate transport, Protocol Buffers messages encoded in binary can be sent across to other machines that can understand the lingo.
    Makefile was generated with
    makefilegen -s -e proto *.ttcn *.cc *.hh
    Best regards
    Elemer

    Hi Jeff,
    Are you using JDevelopers internal client? The internal client does not support all authentication methods just the most popular ones (ext, pserver, ssh2).
    If you select an external cvs client in preferences on the Versioning -&gt; CVS page :sspi should now be one of the default access methods.
    Thanks,
    Geoff

  • Get an error when I was trying to new a Enviroment object

    As you see, the code is very simple, and i got an exception when I was trying to execute the following code env = Environment::createEnvironment (Environment::OBJECT); I have also tried env = Environment::createEnvironment ();
    The result is exactly the same, I looked up the errorcode table on the oracle website, the explanation is ORA-32104: cannot retrieve OCI error message
    Cause: Error message after an OCI call could not be retrieved.
    Action: This is an internal OCCI Error. Please contact customer support.
    So I am confused with the error, any help would be greatly appreciated.
    I use the VS 2005 with the dll and lib released by oracle for oracle 10G
    #include <iostream>
    #include <algorithm>
    #include <occi.h>
    using namespace oracle::occi;
    using namespace std;
    int main (int argc, _TCHAR* argv[])
    Environment *env;
    try
         env = Environment::createEnvironment (Environment::OBJECT);
    catch(SQLException e)
         cout << e.getErrorCode();
    }

    This could be a problem with Ur client installations. ENVs are not set properly. Reinstall the client and try.
    Is your SQLPLUS is working fine.....???
    Then it could be a lib mismtach.

Maybe you are looking for