Concurrent linked queue

Hi,
How to create a queue using concurrent linked queue . Also i need to create a separate consumer thread and separate producer thread.

yesyamaha wrote:
Hi,
How to create a queue using concurrent linked queue .You're going to have to be more specific than that. The class has documentation. Presumably you know what a queue is. Take your best shot, and post your code and a more specific question when you get stuck.
Also i need to create a separate consumer thread and separate producer thread.Is that a statement or a question? If it's a statement, then, okay, so what?
If it's a question, the answer is, no, you don't strictly have to have separate threads, but it kind of defeats the purpose of producer consumer if you don't. And in fact, the definition of producer/consumer may state that the two pieces run concurrently.
You'll find you'll get better help here if you take the time and effort to make sure your questions are clearly communicated.

Similar Messages

  • Query to find concurrent programs defined in each concurrent manager queue

    We have got custom concurrent queues defined and have then included applications / programs under it.
    This way we are seggregating the load across multiple queues and application servers.
    As a check , i want to find what programs are running / actually scheduled under each queue.
    I can see the same from the application frontend. How can I find the same form backend database.
    AU

    Hi,
    Please section "How to find out which request is handle by which concurrent queue." under the following link:
    http://raghuook.blogspot.com/2010/08/apps-dba-trobleshoot-scripts.html
    Also see the following link:
    Checking the status of all concurent managers from backend
    Requests run by a specific Concurrent Manager/Queue within the date range
    Hope this helps!
    Best Regards

  • Concurrent (async, queue) Message processing - design issue

    Hi,
    The question pertains to the following scenario:
    1. A single input gateway (queue) for messages.
    2. Messages arriving from different systems. High incidence (>30 within a
    min) during specific periods
    3. Message should be processed in near real-time as and when it arrives.
    4. A non-polling (async) client.
    I'd thought of two diff approaches for it:
    1> Have a lightweight single-threaded message consumer -
    init connection etc and register a listener (both msg and excep).
    start connection . wait indefinitely
    Listener onMessage creates new thread for working and returns.
    Worker thread - parses xml in message and updates database
    2>Have a single main-thread with sub-threads
    Each sub-thread has own session and consumer and listener instance
    processing of messages is done in sub-thread itself.
    Which approach would be better suited ? Is there any other approach (
    (which of the above goes easy on resources, which is faster)
    Thanks in advance.
    Anshu.

    It depends on how concurrent you want to be.
    If you want to process the messages in order in a single thread; use 1 connection, session, consumer, thread.
    However one of the main reasons for using queues is they provide load balancing across processes or threads. If you want some parallelisation, use 1 connection but many sessions & consumers (1 consumer per session) which will each have its own thread.
    For ultimate performance & pooling of connections, sessions, threads as well as the MessageListener POJOs together with exception handling & transaction management use something like Message Driven POJOs...
    http://jencks.org/Message+Driven+POJOs
    Though if you are talking about 30-60 messages a minute, unless it takes you 1 second to process 1 message, those are very low throughput rates, so probably 1 single thread could do it :)
    James
    http://logicblaze.com/

  • Best way to link queue type to data typdef

    I am using "Obtain Queue" to create a multiple queues from multiple TypeDef formated data clusters. I want to then put these queue references in a cluster of their own so I can refer to them where necessary in my code. When I modify the data types by editing the corresponding typdefs I would like for the queue references to change accordingly. In other words I think I need to link the queue references to the data typedefs.  What is the best way to do this?
    For instance, If I create a cluster of queue rerences using bundle by name I would have to create an input cluster with a format that would update as I change my origianl data typedefs. Can this be done, and if so how?
    Possibly the "problem" is due to my dsire  to have a nice "bundle by name" cluster for clarity in my code. I suppose if I used an array this isn't a problem. That is not as elegant a solutions, but I guess elegance is sometimes in the eye of the beholder.
    Any suggestions?
    Solved!
    Go to Solution.

    Did you replace any constants that you had on the block diagram with the typedefed version? All instances that you ar eusing need to use the typedef.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Application Instance Slow & Concurrent Programme Queue

    My oracle application instance R12 is slow, what all the things needs to be checked?
    FYI,
    Linux OS.
    How to queue the concurrent programme after submitting its request?
    FYI,
    I am not asking for a particular concurrent programme priority. I want all the pending concurrent programme to be queued as per my requirement.

    Hi;
    My oracle application instance R12 is slow, what all the things needs to be checked?
    FYI,
    Linux OS.
    How to queue the concurrent programme after submitting its request?
    FYI,
    I am not asking for a particular concurrent programme priority. I want all the pending concurrent programme to be queued as per my requirement.How ofter you are purging cm request?
    How to Run the Purge Concurrent Request and/or Manager Data Program and Which Tables Does it Purge? [ID 154850.1]
    How to Optimize the Process of Running Purge Concurrent Request and/or Manager Data (FNDCPPUR) [ID 92333.1]
    Purge Concurrent Request and/or Manager Data Slow Performance [ID 789698.1]
    Regard
    Helios

  • Thread pool + multiple work queues

    Hi,
    I guess the problem I am facing is pretty common but I don't know what's the best pattern for this.
    I have multiple queues. Queue element is "Runnable". The requirement is that "Runnable"s inside the same queue must be run serializely. I want to use a ThreadPool to do this since I want concurrency (different queues can run simultanously) but don't want too many threads.
    I know Java 5 Concurrent API (newbie though). But for this problem, I don' t know what classes I should combine. Can anyone give an example or maybe a link to a good article?
    Thank you!

    java.util.concurrent.Executors
    see newSingleThreadExecutor()
    submit() you Runnable to be executed. submit() will return a Future.
    Future.get() will block waiting for the Runnable you submitted to complete its execution before continuing.
    When get() returns, submit() the next Runnable.

  • 12.1.1 POST-upgrade ---verify concurrent process

    I have upgraded 11.5.10.to 12.1.1 successfully when I was running post upgrade
    Oracle® Applications
    Upgrade Guide
    Release 11i to 12.1.1
    Part No. E14010-01
    chapter 4
    Step 1: Verify completion of concurrent programs (recommended)
    The upgrade process creates numerous concurrent program requests. Once you bring
    up the application tier, these programs run automatically to complete tasks such as data
    cleanup and upgrades to historical data, among others. You can run these programs in
    the background, while your system is up and running and users are active, unless
    otherwise instructed in the product-specific sections of this book.
    Before you continue, be sure all the concurrent programs generated by the upgrade
    have run successfully. In the Required Post Upgrade Jobs section of E-Business Suite
    Release 12 Upgrade Sizing and Best Practices (Doc ID: 399362.1), you will find a list of the
    distinct concurrent programs included in the upgrade process. The Best Practices
    section includes a recommendation on how to isolate these programs (and all their
    executions) into a separate concurrent manager queue, which you can use for
    processing.
    post upgrade concurrent request were around 989 but
    by mistake I stopped the concurrent manager and I ran cmclean.sql --:(
    then after some time I shut abort the database
    please tell me what should I do now
    what impact will cmclean and shut abort will have ?
    how do i know which request are clean by cmclean
    and how can I ran them again??
    Immediate reply is appreciated
    AppsmastI
    SHaring Is CArinG

    post upgrade concurrent request were around 989 but
    by mistake I stopped the concurrent manager and I ran cmclean.sql --:(
    then after some time I shut abort the database
    please tell me what should I do now In the Required Post Upgrade Jobs section of E-Business Suite Release 12 Upgrade Sizing and Best Practices (Doc ID: 399362.1), you will find a list of the distinct concurrent programs included in the upgrade process.
    what impact will cmclean and shut abort will have ?cmclean.sql script should not have any impact on the concurrent programs, however shutdown abort will do the following http://docs.oracle.com/cd/E11882_01/server.112/e10595/start003.htm#i1006611
    how do i know which request are clean by cmclean In the same session you will find the list of table that are updated by cmclean.sql script along with the request ids.
    and how can I ran them again??See the doc referenced above.
    Thanks,
    Hussein

  • SXMB_MONI - queue stopped

    Hi,
    I am experiencing a problem with queues. After reading  similar situation, i don't really know I to solve it.
    The problem is the next:
    Scenario: IDOC--> XI --> FTP
    When the Idoc is received in XI, there are about 15 Mappings to execute. When I have a look to the SXMB_moni I see all the mapping are stopped. The Q.Status is with the stop signal, and when I position the curson over the signal, the next text is displayed : "Queve Stopped".
    I've read several similar threads, but I can not  understand the solution.
    Could anyone explain me or give a good link in which I can hava a step by step guide of how to register the queue and/or how to solve this problem eventually.
    Thanks in advance.

    HI,
    Please see the below links
    Queue status = "stopped"
    Queues Stopping
    queue status is stopped
    Queue is stopped after restarting XI
    Q.Status is "Queue stopped"
    Queue Status is showing Stopped
    Queue Stopped
    Message waiting in queueu0085
    Regards
    Chilla..
    <i>Points rewarded if it is useful..</i>

  • Creating a Queue to hold the message with in the program

    Hi
    Iam creating a Queue(linked Queue or any other java Queue) with in my project.The main purpose is to check the acknowledgement message for a any message sent to the client(JMS QUEUE).
    Whenever a message is sent to MQ, it is also sent to the internal Queue so that the return ack message will delete the top most message from the internal queue, thus indicating the left out non-acknowledged messages.
    But the messages inside the internal Queue are not persisting, when ever i call an object( I used singleton to get the object) of the Queue it is giving me a new Queue thus ignoring the previous message.
    Can anybody let me know how can i solve this problem.

    Anyone? Just need to know where I can change that message and also how I can set up the icloud calender to send invites using my work email address (as configured in Mail)?

  • Concurrent access to Berkeley Db using c++

    Hi
    I'm trying to implement a concurrent persistent queue using Berkeley DB. As a starter I tried to make two process which both appends to the DB:
    #include <unistd.h>
    #include <sstream>
    #include <db_cxx.h>
    class Queue : public DbEnv
    public:
    Queue ( ) :
    DbEnv(0),
    db(0)
    set_flags(DB_CDB_ALLDB, 1);
    open("/tmp/db", DB_INIT_LOCK |
    DB_INIT_LOG |
    DB_INIT_TXN |
    DB_INIT_MPOOL |
    DB_RECOVER |
    DB_CREATE |
    DB_THREAD,
    0);
    db = new Db(this, 0);
    db->set_flags(DB_RENUMBER);
    db->open(NULL, "db", NULL, DB_RECNO, DB_CREATE | DB_AUTO_COMMIT | DB_THREAD, 0);
    virtual ~Queue ()
    db->close(0);
    delete db;
    close(0);
    protected:
    Db * db;
    class Enqueue : public Queue
    public:
    Enqueue ( ) : Queue() { }
    virtual ~Enqueue () { }
    bool push(const std::string& s)
    int res;
    DbTxn * txn;
    try {
    txn_begin(NULL, &txn, DB_TXN_SYNC | DB_TXN_WAIT );
    db_recno_t k0[4]; // not sure how mutch data is needs???
    k0[0] = 0;
    Dbt val((void*)s.c_str(), s.length());
    Dbt key((void*)&k0, sizeof(k0[0]));
    key.set_ulen(sizeof(k0));
    key.set_flags(DB_DBT_USERMEM);
    res = db->put(txn, &key, &val, DB_APPEND);
    if( res == 0 ) {
    txn->commit(0);
    return true;
    } else {
    std::cerr << "push failed: " << res << std::endl;
    txn->abort();
    return false;
    } catch( DbException e) {
    std::cerr << "DB What()" << e.what() << std::endl;
    txn->abort();
    return false;
    } catch( std::exception e) {
    std::cerr << "What()" << e.what() << std::endl;
    txn->abort();
    return false;
    } catch(...) {
    std::cerr << "Unknown error" << std::endl;
    txn->abort();
    return false;
    using namespace std;
    int main(int argc, const char *argv[])
    fork(); // create two independent processes
    Enqueue e;
    stringstream ss;
    for(int i = 0; i < 10; i++){
    ss.str("");
    ss << "asdf" << i;
    cout << ss.str() << endl;
    if( ! e.push(ss.str()) )
    break;
    return 0;
    Compiling it:
    $ g++ test.cxx -I/usr/include/db4.8 -ldb_cxx-4.8
    Create the db-dir
    $ mkdir /tmp/db
    And when I run it I get all kind of errors (segmentations fault, allocation error, and some times it actually works)
    I'm sure that I have missed some locking, but I just do not know how to do it. So, any hints and/or suggestions to fix this are most welcome.
    Best regards
    Allan W. Nielsen

    Okay, I think I found a way to do this. It is not pretty, and I think I can be done easier...
    The application is a call home process, where the producer is added data, and producer tries to send it home. If the consumer fails to send it home, it must try again. The database must not block for producer while the consumer is trying to sink data.
    The code has a file lock, and will only allow one consumer process.
    Here are the code:
    #include <db_cxx.h>
    #include <sstream>
    #include <fstream>
    #include <vector>
    #include <boost/interprocess/sync/file_lock.hpp>
    class Queue : public DbEnv
    public:
    Queue ( bool sync ) :
    DbEnv(0),
    db(0)
    set_flags(DB_CDB_ALLDB, 1);
    if( sync )
    set_flags(DB_TXN_NOSYNC, 0);
    else
    set_flags(DB_TXN_NOSYNC, 1);
    open("/tmp/db", DB_INIT_LOCK |
    DB_INIT_LOG | DB_INIT_TXN | DB_INIT_MPOOL |
    DB_REGISTER | DB_RECOVER | DB_CREATE | DB_THREAD,
    0);
    db = new Db(this, 0);
    db->set_flags(DB_RENUMBER);
    db->open(NULL, "db", NULL, DB_RECNO, DB_CREATE | DB_AUTO_COMMIT | DB_THREAD, 0);
    virtual ~Queue ()
    db->close(0);
    delete db;
    close(0);
    protected:
    Db * db;
    struct Transaction
    Transaction() : t(0) { }
    bool init(DbEnv * dbenv ){
    try {
    dbenv->txn_begin(NULL, &t, 0);
    } catch( DbException e) {
    std::cerr << "DB What()" << e.what() << std::endl;
    return false;
    } catch( std::exception e) {
    std::cerr << "What()" << e.what() << std::endl;
    return false;
    } catch(...) {
    std::cerr << "Unknown error" << std::endl;
    return false;
    return true;
    ~Transaction(){ if( t!=0) t->abort(); }
    void abort() { t->abort(); t = 0; }
    void commit() { t->commit(0); t = 0; }
    DbTxn * t;
    struct Cursor
    Cursor() : c(0) { }
    bool init( Db * db, DbTxn * t) {
    try {
    db->cursor(t, &c, 0);
    } catch( DbException e) {
    std::cerr << "DB What()" << e.what() << std::endl;
    return false;
    } catch( std::exception e) {
    std::cerr << "What()" << e.what() << std::endl;
    return false;
    } catch(...) {
    std::cerr << "Unknown error" << std::endl;
    return false;
    return true;
    ~Cursor(){ if( c!=0) c->close(); }
    void close(){ c->close(); c = 0; }
    Dbc * c;
    class Enqueue : public Queue
    public:
    Enqueue ( bool sync ) : Queue(sync) { }
    virtual ~Enqueue () { }
    bool push(const std::string& s)
    int res;
    Transaction transaction;
    if( ! transaction.init(this) )
    return false;
    try {
    db_recno_t k0[4]; // not sure how mutch data is needs???
    k0[0] = 0;
    Dbt val((void*)s.c_str(), s.length());
    Dbt key((void*)&k0, sizeof(k0[0]));
    key.set_ulen(sizeof(k0));
    key.set_flags(DB_DBT_USERMEM);
    res = db->put(transaction.t, &key, &val, DB_APPEND);
    if( res == 0 ) {
    transaction.commit();
    return true;
    } else {
    std::cerr << "push failed: " << res << std::endl;
    return false;
    } catch( DbException e) {
    std::cerr << "DB What()" << e.what() << std::endl;
    return false;
    } catch( std::exception e) {
    std::cerr << "What()" << e.what() << std::endl;
    return false;
    } catch(...) {
    std::cerr << "Unknown error" << std::endl;
    return false;
    const char * create_file(const char * f ){
    std::ofstream _f;
    _f.open(f, std::ios::out);
    _f.close();
    return f;
    class Dequeue : public Queue
    public:
    Dequeue ( bool sync ) :
    Queue(sync),
    lock(create_file("/tmp/db-test-pop.lock")),
    number_of_records_(0)
    std::cout << "Trying to get exclusize access to database" << std::endl;
    lock.lock();
    virtual ~Dequeue ()
    bool pop(size_t number_of_records, std::vector<std::string>& records)
    if( number_of_records_ != 0 ) // TODO, warning
    abort();
    Cursor cursor;
    records.clear();
    if( number_of_records_ != 0 )
    abort(); // TODO, warning
    // Get a cursor
    try {
    db->cursor(0, &cursor.c, 0);
    } catch( DbException e) {
    std::cerr << "DB What()" << e.what() << std::endl;
    abort();
    return false;
    // Read and delete
    try {
    Dbt val;
    db_recno_t k0 = 0;
    Dbt key((void*)&k0, sizeof(k0));
    for( size_t i = 0; i < number_of_records; i ++ ) {
    int get_res = cursor.c->get(&key, &val, DB_NEXT);
    if( get_res == 0 )
    records.push_back(std::string((char *)val.get_data(), val.get_size()));
    else
    break;
    number_of_records_ = records.size();
    if( number_of_records_ == 0 ) {
    abort();
    return false;
    } else {
    return true;
    } catch( DbException e) {
    std::cerr << "DB read/delete What() " << e.what() << std::endl;
    abort();
    return false;
    } catch( std::exception e) {
    std::cerr << "DB read/delete What() " << e.what() << std::endl;
    abort();
    return false;
    bool commit()
    if( number_of_records_ == 0 )
    return true;
    Transaction transaction;
    Cursor cursor;
    if( ! transaction.init(this) )
    return false;
    if( ! cursor.init(db, transaction.t) )
    return false;
    // Read and delete
    try {
    Dbt val;
    db_recno_t k0 = 0;
    Dbt key((void*)&k0, sizeof(k0));
    for( size_t i = 0; i < number_of_records_; i ++ ) {
    int get_res = cursor.c->get(&key, &val, DB_NEXT);
    if( get_res == 0 )
    cursor.c->del(0);
    else
    break; // this is bad!
    number_of_records_ = 0;
    cursor.close();
    transaction.commit();
    return true;
    } catch( DbException e) {
    std::cerr << "DB read/delete What() " << e.what() << std::endl;
    return false;
    } catch( std::exception e) {
    std::cerr << "DB read/delete What() " << e.what() << std::endl;
    return false;
    void abort()
    number_of_records_ = 0;
    private:
    boost::interprocess::file_lock lock;
    size_t number_of_records_;
    sigset_t orig_mask;
    };

  • Concurrent Program Manager

    Hi everyone
    i installed oracle applications 11.5.10.2 on hp-ux..and some times i need to know the concurrent manager for a specific program..
    if i have the concurrent program name, what is the query to fetch the concurrent manager for this concurrent program???
    Thank you

    hi,
    Pass the request id to the below query, will get the concurrent manager queue name
    select fcr.request_id req_id,
      substr(fcq.concurrent_queue_name, 1, 20) queue,
      to_char(fcr.actual_start_date,'hh24:mi') s_time,
      substr(fcr.user_concurrent_program_name, 1, 60)  name,
      substr(fcr.requestor, 1, 9 ) u_name,
      round((sysdate -actual_start_date) *24, 2) elap,
      decode(fcr.phase_code,'R','Running','P','Inactive','C','Completed', fcr.phase_code) Phase,
      substr(decode( fcr.status_code, 'A', 'WAITING', 'B', 'RESUMING',
            'C', 'NORMAL', 'D', 'CANCELLED', 'E', 'ERROR', 'F', 'SCHEDULED',
            'G', 'WARNING', 'H', 'ON HOLD', 'I', 'NORMAL', 'M', 'NO MANAGER',
            'Q', 'STANDBY', 'R', 'NORMAL', 'S', 'SUSPENDED', 'T', 'TERMINATED',
            'U', 'DISABLED', 'W', 'PAUSED', 'X', 'TERMINATED', 'Z', 'WAITING',
            'UNKNOWN'), 1, 10)
      from
            apps.fnd_concurrent_queues fcq,
            apps.fnd_concurrent_processes fcp,
            apps.fnd_conc_req_summary_v fcr
      where fcp.concurrent_queue_id = fcq.concurrent_queue_id
        and fcp.queue_application_id = fcq.application_id
        and fcr.controlling_manager = fcp.concurrent_process_id
        and fcr.request_id = '&1'
        order by request_id ;thanks,
    baskar.l

  • How to connect weblogic 8.1 to IBM MQ Series from remote machines?

    Hi,
              I am trying to connect WebLogic 8.1 to IBM MQ Series 6.0 both are running in a seperate machines.Can we do using JNDI services? Can anyone help me to fix this issue?

    I'm cutting/pasting my notes on the topic, including MQ specific notes. Start with the Integrating Remote JMS Providers FAQ (link below). You can also search this newsgroup for answers.
              Tom
              JMS Integration of Foreign Vendors with BEA WebLogic Server
              The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
              For additional questions, a good forum for WebLogic questions in general is "newsgroups.bea.com". These can be mined for information by using Google's newsgroup search function.
              JMS Integration Overview
              - For integration with "non-Java" and/or "non-JMS" platforms, see "Non-Java Integration Options" below.
              - For a foreign JMS vendor to participate in a WL transaction it must support XA. Specifically, it must support the javax.jms.XA* interfaces.
              - In WL versions 6.0 and up it is possible to make synchronous calls to foreign JMS vendors participate in a WL transaction as long as the foreign vendor supports XA.
              - WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally. They can be driven transactionally by a select few foreign vendors (MQ is not part of the select few)
              - WL 7.0 and later, MDBs can be driven by foreign vendors transactionally and non-transationally.
              - WL 6.1 and later WL provides a messaging bridge feature. Messaging bridges forward messages between any two JMS destinations, including foreign destinations, and can transfer messages transactionally or non-transactionally.
              - WL 8.1 JMS provides additional features that simplify transactional and JNDI integration of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features and http://e-docs.bea.com/wls/docs81/faq/interop.html
              Integration with 8.1 Details
              To start, first read the "Integrating Remote JMS Providers FAQ" (released in Dec 2004) at:
              http://e-docs.bea.com/wls/docs81/faq/interop.html
              A good overview of 8.1 JMS interop capability is the presentation "Integrating Foreign JMS Providers with BEA WebLogic Server" here:
              http://www.bea.com/content/files/eworld/presentations/Wed_03_05_03/Application_Servers/1097-Foreign_JMS_Providers_WLS.pdf
              This document refers to helpful new 8.1 features, which simplify integration. These include:
              http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_config.html#accessing_foreign_providers
              http://edocs.bea.com/wls/docs81/jms/j2ee_components.html#1033768
              And are also summarized here (under interoperability):
              http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Also read the MDB documentation, which extensively covers integrating foreign vendors:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              The 8.1 features are likely sufficient for most 8.1 integration needs, but you may want to refer to the "Using Foreign JMS Providers With WLS" white-paper mentioned below, which is 7.0 specific but contains specific examples of configuring non-WebLogic JMS vendors. See also notes on "MQ" below.
              Integration with 6.1 and 7.0 Details
              Read the "Using Foreign JMS Providers With WLS" white-paper:
              http://dev2dev.bea.com/products/wlserver/whitepapers/jmsproviders.jsp
              Note that this white-paper does not take into account 8.1 features.
              For 7.0 read the extensive 8.1 MDB documentation, which largely also applies to 7.0:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              Non-Java Integration Options
              - WL JMS has a JNI based C client which is available for Windows and some UNIX platforms. This C client supports 7.0 and up, and will be officially packaged with WLS in 9.0 (virtually unchanged). The C API is currently only supported through the jms newsgroup. See "JMS C API", here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              - WL supports direct Windows COM access through its "JCOM" feature. This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs61/jcom.html
              http://e-docs.bea.com/wls/docs70/jcom/
              http://e-docs.bea.com/wls/docs81/jcom/
              - Similar to JCOM, but more advanced and supported on more platforms, WL supports access via the standard IIOP protocol. You can use the BEA Tuxedo C client for this purpose (no license fee). This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs81/rmi_iiop/
              http://e-docs.bea.com/wls/docs70/rmi_iiop/
              http://e-docs.bea.com/wls/docs61/rmi_iiop/
              Unlike most other approaches, the IIOP client approach also allows the client to begin and commit user (JTA) transactions (not configured).
              - If you already have a BEA Tuxedo license, one option is communicate through BEA Tuxedo (which has various APIs on Windows) and configure a WebLogic Server to respond to these requests via the WTC bridge. Search for "WTC" in the BEA docs. Unlike most other approaches, the Tuxedo API approach also allows the client to begin and commit user (JTA) transactions.
              - Another approach is to interop via web-service standards. Or even to simply to invoke a servlet on the WL server using a basic HTTP call from the client. These operation in turn can invoke the JMS API. There is a white-paper on "Interoperability Study of BEA WebLogic Workshop 8.1 and Microsoft .NET 1.1 Web Services", that demonstrates web-services here:
              http://ftpna2.bea.com/pub/downloads/WebLogic-DotNet-Interop.pdf
              - Yet another approach is to use a third party product that is designed to wrap any JMS vendor. There are even open source versions. In no particular order, here are some examples: Open3 WinJMS, CodeMesh, Active JMS, SpiritSoft
              - Finally, there are .NET/C/C++ integration libraries that are not specific to JMS, some examples are JNBridge, Jace, and CodeMesh.
              Notes on MQ Remote Capable XA Clients
              Until recently, IBM MQ JMS clients could not work transactionally unless they were running on the same host as their MQ server. This is a limitation unique to MQ that was relaxed with the introduction of IBM's new "WebSphere MQ Extended Transactional Client". See:
              http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
              The product is new, and for some reason, configuration of this client seems to be tricky, even when WebLogic is not involved at all. Oddly, the main sticking point seems to be simply making sure that class paths refer to the required IBM jars:
              - Required on WLS where MQ objects are bound into JNDI:
              com.ibm.mq.jar, com.ibm.mqjms.jar
              - Required only if MQ objects are bound into JNDI on a different server:
              com.ibm.mq.jar
              If there are problems when using this client, first get it to work using a pure IBM client without any BEA classes involved. Once that is working, search the WL JMS newsgroup for answers and/or contact BEA customer support.
              Notes on Oracle AQ Integration
              If problems are encountered integrating Oracle's built-in queuing (Oracle AQ) JMS client, there is publicly available wrapper code that can aid integrating AQ directly into MDBs, JMS, or the messaging bridge. The solution is titled "Startup class to bind AQ/Referenceable objects to WLS JNDI", is not supported by BEA, and is posted to:
              http://dev2dev.bea.com/codelibrary/code/startupclass.jsp (older version)
              http://xa-compliant-oracleaq.projects.dev2dev.bea.com (newer version)
              Caveats:
              It may be that the solution doesn't directly support concurrent consumers. Perhaps Oracle requires that concurrent consumers each have a unique JMS connection? As a work-around, parallel message processing can be achieved indirectly by forwarding AQ messages into a WL JMS destination - which do support concurrent processing.
              Up-to-date versions of Oracle may be required. For more information, google search the weblogic.developer.interest.jms newsgroup for "Oracle" and "AQ".
              MDB Thread Pool Notes
              WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify which thread pool an MDB uses to run its instances. In most cases this field should be configured to help address potential performance issues and/or dead-locks:
              http://edocs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#dispatch-policy
              (Note that "dispatch-policy" is ignored for non-transactional foreign vendors; in this case, the MDB "onMessage" callback runs in the foreign vendor's thread.)
              MDB Concurrency Notes
              Queue MDBs driven by foreign providers can run multiple instances concurrently. Topic MDBs driven by foreign providers are limited to one instance (not sure, but transactional foreign driven topic MDBs may not have this limitation). The size of the thread pool that the MDB runs in and the "max-beans-in-free-pool" descriptor limit how many instances run concurrently.
              Design Guide-Lines and Performance Tuning Notes
              The "WebLogic JMS Performance Guide" white-paper contains detailed design, performance, and tuning information for Clustering, Messaging Bridge, JMS, and MDBs.
              http://dev2dev.bea.com/products/wlserver/whitepapers/WL_JMS_Perform_GD.jsp

  • Reports Tab in iProcurement

    I added a tab in iProcurement to allow users to submit a report via a sswa jsp function. When they click on the tab, it lists the name of the report. This works perfectly. They go through the steps to submit the report and when they submit, it takes them to their concurrent manager queue. We have a request to also provide a link to the concurrent manager queue at the beginning because otherwise, they have to submit a new report to see their earlier requests. Is there a way to add a "view requests" button on the same page? Hope that makes sense.
    Thanks in advance for your help!
    Rob

    Hi,
    Are you talking about the reports tab in P6 EPPM (web Access)? P6 release 8 onwards the reports tab is added when you install and link the BI with P6. Otherwise there is no Reports tab is avilable in P6 r8 onwards. Have you installed BI or any other reporting tools for reporting purpose?
    Thanks,
    Dip

  • PI FTP: Process 1 file at a time until it is successfully processed at the target system

    Dear Experts,
    As the title said, I'm required to process 1 file at a time and only process the next file after the previous file has been successfully processed at the target system. The interface scenario is asynchronous FTP to ABAP proxy.
    It is similar with the following link:
    File adapter to pick a single file
    I think there could be 2 feasible solutions:
    1. Configure EOIO at the sender CC. According to this link:
         Queues for Asynchronous Message Processing (SAP Library - SAP NetWeaver Exchange Infrastructure)
         It is stated that "Once the message has been processed successfully in the target system, the Integration Engine executes an implicit database commit."
         In the case of asynchronous FTP to ABAP proxy, will the PI wait for the ABAP proxy to finish processing the file before sending the next one?
    2. Configure locking at the ABAP program in ECC. I could ask the ABAPer to create a locking mechanism to lock the document before it is posted to BAPI. If the reference document is being locked, it will try again for the next second up to a certain times before it gives up.
    Which 1 is actually fits the requirement?
    Thank you,
    Suwandi C.

    Dear Experts,
    Sorry, just 1 more question which I'm curious.
    In NFS adapter we have the option to set the processing sequence to by Name / Date.
    In FTP will it only by Date?
    According to this link:
    https://help.sap.com/saphelp_nw73/helpdata/en/f9/17888f490846a9972628525cc28aac/content.htm
    "Messages are delivered with the same queue names (supplied by the application) in the same sequence that they were sent from the sender system"
    If it is in the same sequence sent by the sender, I guess it is in the Date order for FTP. Is that correct?
    Thank you,
    Suwandi C.

  • How to add image in virtual dir / i/ 11g when using the embedded gateway

    Hi,
    Does somebody knows how to 'simple' import a file or directory
    into the /images/ or /i/ directory created by APEX without tricks like in How I added a  new image to APEX in 11g when using the embedded gateway.
    when using Database 11g with the embedded gateway. with webdav of ftp.
    When I use the url http://localhost/images
    I need to logon.
    There is not 1 username/password that I can use. I tried all.
    When I try http://localhost/i/16admin.gif then the gif is shown.
    I must be something with ACL's or DBMS_EPG or maybe the default port 80 that I use?
    My configuration is
    Doing 11.1.0.6.0 checks
    ############# Status/Version #############
    XDB Status is: VALID at version 11.1.0.6.0
    ############# OTHER DATABASE FEATURES #############
    Oracle Application Express is VALID at version 3.1.2.00.02
    OWB is VALID at version 11.1.0.6.0
    Oracle Enterprise Manager is VALID at version 11.1.0.6.0
    Oracle Ultra Search is VALID at version 11.1.0.6.0
    OLAP Catalog is VALID at version 11.1.0.6.0
    Spatial is VALID at version 11.1.0.6.0
    Oracle Multimedia is VALID at version 11.1.0.6.0
    Oracle XML Database is VALID at version 11.1.0.6.0
    Oracle Text is VALID at version 11.1.0.6.0
    Oracle Expression Filter is VALID at version 11.1.0.6.0
    Oracle Rules Manager is VALID at version 11.1.0.6.0
    Oracle Workspace Manager is VALID at version 11.1.0.6.0
    Oracle Database Catalog Views is VALID at version 11.1.0.6.0
    Oracle Database Packages and Types is VALID at version 11.1.0.6.0
    JServer JAVA Virtual Machine is VALID at version 11.1.0.6.0
    Oracle XDK is VALID at version 11.1.0.6.0
    Oracle Database Java Packages is VALID at version 11.1.0.6.0
    OLAP Analytic Workspace is VALID at version 11.1.0.6.0
    Oracle OLAP API is VALID at version 11.1.0.6.0
    ############# XDBCONFIG INFORMATION #############
    acl-max-age= = = 15
    acl-cache-size= = = 32
    case-sensitive= = = true
    call-timeout= = = 6000
    max-link-queue= = = 65536
    max-session-use= = = 100
    persistent-sessions= = = false
    default-lock-timeout= = = 3600
    xdbcore-logfile-path= = = /sys/log/xdblog.xml
    xdbcore-log-level= = = 0
    resource-view-cache-size= = = 1048576
    extension= = = au
    mime-type= = = audio/basic
    extension= = = avi
    mime-type= = = video/x-msvideo
    extension= = = bin
    mime-type= = = application/octet-stream
    extension= = = bmp
    mime-type= = = image/bmp
    extension= = = css
    mime-type= = = text/css
    extension= = = doc
    mime-type= = = application/msword
    extension= = = eml
    mime-type= = = message/rfc822
    extension= = = gif
    mime-type= = = image/gif
    extension= = = htm
    mime-type= = = text/html
    extension= = = html
    mime-type= = = text/html
    extension= = = jpe
    mime-type= = = image/jpeg
    extension= = = jpeg
    mime-type= = = image/jpeg
    extension= = = jpg
    mime-type= = = image/jpeg
    extension= = = js
    mime-type= = = application/x-javascript
    extension= = = jsp
    mime-type= = = text/html
    extension= = = mid
    mime-type= = = audio/mid
    extension= = = mov
    mime-type= = = video/quicktime
    extension= = = movie
    mime-type= = = video/x-sgi-movie
    extension= = = mp3
    mime-type= = = audio/mpeg
    extension= = = mpe
    mime-type= = = video/mpg
    extension= = = mpeg
    mime-type= = = video/mpg
    extension= = = mpg
    mime-type= = = video/mpg
    extension= = = msa
    mime-type= = = application/x-msaccess
    extension= = = msw
    mime-type= = = application/x-msworks-wp
    extension= = = pcx
    mime-type= = = application/x-pc-paintbrush
    extension= = = pdf
    mime-type= = = application/pdf
    extension= = = png
    mime-type= = = image/png
    extension= = = ppt
    mime-type= = = application/vnd.ms-powerpoint
    extension= = = ps
    mime-type= = = application/postscript
    extension= = = qt
    mime-type= = = video/quicktime
    extension= = = ra
    mime-type= = = audio/x-realaudio
    extension= = = ram
    mime-type= = = audio/x-realaudio
    extension= = = rm
    mime-type= = = audio/x-realaudio
    extension= = = rtf
    mime-type= = = application/rtf
    extension= = = rv
    mime-type= = = video/x-realvideo
    extension= = = sgml
    mime-type= = = text/sgml
    extension= = = svg
    mime-type= = = image/svg+xml
    extension= = = tif
    mime-type= = = image/tiff
    extension= = = tiff
    mime-type= = = image/tiff
    extension= = = txt
    mime-type= = = text/plain
    extension= = = url
    mime-type= = = text/plain
    extension= = = vrml
    mime-type= = = x-world/x-vrml
    extension= = = wav
    mime-type= = = audio/wav
    extension= = = wpd
    mime-type= = = application/wordperfect5.1
    extension= = = xls
    mime-type= = = application/vnd.ms-excel
    extension= = = xml
    mime-type= = = text/xml
    extension= = = xsd
    mime-type= = = text/xml
    extension= = = xsl
    mime-type= = = text/xml
    extension= = = zip
    mime-type= = = application/x-zip-compressed
    extension= = = htc
    mime-type= = = text/x-component
    extension= = = xbl
    mime-type= = = text/xml
    extension= = = en
    lang= = = english
    extension= = = gzip
    encoding= = = zip file
    extension= = = tar
    encoding= = = tar file
    session-pool-size= = = 50
    session-timeout= = = 6000
    ftp-port= = = 0
    ftp-listener= = = local_listener
    ftp-protocol= = = tcp
    logfile-path= = = /sys/log/ftplog.xml
    log-level= = = 0
    session-timeout= = = 6000
    buffer-size= = = 8192
    http-port= = = 80
    http-listener= = = local_listener
    http-protocol= = = tcp
    max-http-headers= = = 64
    max-header-size= = = 16384
    max-request-body= = = 2000000000
    session-timeout= = = 6000
    server-name= = = XDB HTTP Server
    logfile-path= = = /sys/log/httplog.xml
    log-level= = = 0
    servlet-realm= = = Basic realm="XDB"
    welcome-file= = = index.html
    welcome-file= = = index.htm
    servlet-pattern= = = /Test
    servlet-name= = = TestServlet
    servlet-pattern= = = /oradb/*
    servlet-name= = = DBURIServlet
    servlet-pattern= = = /orarep/*
    servlet-name= = = ReportFmwkServlet
    servlet-pattern= = = /i/*
    servlet-name= = = PublishedContentServlet
    servlet-pattern= = = /apex/*
    servlet-name= = = APEX
    servlet-pattern= = = /images/*
    servlet-name= = = IMAGES
    servlet-name= = = TestServlet
    servlet-language= = = Java
    display-name= = = XDB Test Servlet
    description= = = A servlet to test the internals of the XDB Servlet API
    servlet-class= = = xdbtserv
    servlet-schema= = = xdb
    servlet-name= = = DBURIServlet
    servlet-language= = = C
    display-name= = = DBURI
    description= = = Servlet for accessing DBURIs
    role-name= = = authenticatedUser
    role-link= = = authenticatedUser
    servlet-name= = = ReportFmwkServlet
    servlet-language= = = C
    display-name= = = REPT
    description= = = Servlet for accessing reports
    role-name= = = authenticatedUser
    role-link= = = authenticatedUser
    servlet-name= = = PublishedContentServlet
    servlet-language= = = C
    display-name= = = Unauthenticated File Access Servlet
    description= = = Servlet for files for unauthenticated users
    param-name= = = RootFolder
    param-value= = = /images
    description= = = RootFolder
    role-name= = = anonymousServletRole
    role-link= = = anonymousServletRole
    servlet-name= = = APEX
    servlet-language= = = PL/SQL
    display-name= = = APEX
    database-username= = = ANONYMOUS
    default-page= = = apex
    document-table-name= = = wwv_flow_file_objects$
    document-path= = = docs
    document-procedure= = = wwv_flow_file_mgr.process_download
    nls-language= = = american_america.al32utf8
    request-validation-function= = = wwv_flow_epg_include_modules.authorize
    role-name= = = anonymousServletRole
    role-link= = = anonymousServletRole
    servlet-name= = = IMAGES
    servlet-language= = = PL/SQL
    display-name= = = IMAGES
    database-username= = = APS
    role-name= = = anonymousServletRole
    role-link= = = anonymousServletRole
    allow-mechanism= = = basic
    nonce-timeout= = = 300
    xdbcore-xobmem-bound= = = 1024
    xdbcore-loadableunit-size= = = 16
    acl-evaluation-method= = = ace-order
    ############# XMLTYPE Tables #############
    XDB has 1 XMLTYPE TABLES stored as CLOB
    XDB has 24 XMLTYPE TABLES stored as OBJECT-RELATIONAL
    XDB has 11 XMLTYPE TABLES stored as BINARY
    ############# XMLTYPE Columns #############
    XDB has 3 XMLTYPE Columns stored as CLOB
    MDSYS has 24 XMLTYPE Columns stored as CLOB
    SYS has 1 XMLTYPE Columns stored as CLOB
    ORDSYS has 9 XMLTYPE Columns stored as CLOB
    ############# XMLTYPE Views #############
    ############# XMLTYPE INDEXES #############
    XDB has 1 XMLTYPE Indexes of type CSX
    ############# Items built with XML API's #############
    PACKAGE BODY FLOWS_030100.WWV_FLOW_XLIFF
    PACKAGE BODY FLOWS_030000.WWV_FLOW_XLIFF
    PACKAGE BODY MDSYS.SDO_WFS_PROCESS
    PACKAGE BODY EXFSYS.DBMS_RLMGR_DR
    PACKAGE BODY FLOWS_030100.WWV_FLOW_DATALOAD_XML
    PACKAGE BODY MDSYS.SDO_OLS
    PACKAGE BODY FLOWS_030000.WWV_FLOW_DATALOAD_XML
    PACKAGE BODY FLOWS_030100.WWV_FLOW_XLIFF
    PACKAGE BODY FLOWS_030000.WWV_FLOW_XLIFF
    PACKAGE BODY EXFSYS.DBMS_RLMGR_DR
    PACKAGE BODY XDB.DBMS_XSLPROCESSOR
    PACKAGE BODY XDB.DBMS_XMLPARSER
    PACKAGE BODY FLOWS_030100.WWV_FLOW_XLIFF
    PACKAGE BODY XDB.DBMS_CSX_INT
    PACKAGE BODY FLOWS_030000.WWV_FLOW_XLIFF
    PACKAGE BODY EXFSYS.DBMS_RLMGR_DR
    PACKAGE BODY XDB.DBMS_XDB
    PACKAGE BODY XDB.DBMS_XDBRESOURCE
    PACKAGE BODY XDB.DBMS_XMLDOM
    PACKAGE XDB.DBMS_XSLPROCESSOR
    PACKAGE XDB.DBMS_XMLPARSER
    PACKAGE XDB.DBMS_XDBRESOURCE
    PACKAGE BODY XDB.DBMS_XMLDOM
    PACKAGE BODY XDB.DBMS_XMLINDEX
    PACKAGE BODY XDB.DBMS_XMLPARSER
    PACKAGE BODY XDB.DBMS_XMLPARSER
    PACKAGE BODY XDB.DBMS_XMLSCHEMA
    PACKAGE BODY XDB.DBMS_XMLSCHEMA
    PACKAGE BODY XDB.DBMS_XMLSCHEMA_INT
    PACKAGE BODY XDB.DBMS_XMLTRANSLATIONS
    PACKAGE BODY XDB.DBMS_XSLPROCESSOR
    PACKAGE BODY XDB.DBMS_XMLPARSER
    PACKAGE BODY XDB.DBMS_CSX_INT
    PACKAGE BODY XDB.DBMS_XMLDOM
    PACKAGE BODY XDB.DBMS_XSLPROCESSOR
    ############# XML SCHEMAS #############
    MDSYS has 4 registered.
    EXFSYS has 2 registered.
    ORDSYS has 17 registered.
    XDB has 25 registered.
    SYS has 43 registered.
    ############# Repository Resources #############
    MDSYS has 9 resources.
    EXFSYS has 3 resources.
    ORDSYS has 20 resources.
    XDB has 28 resources.
    SYS has 12634 resources.
    ############# Network ACLs Configured #############
    mail.4aps.be has network acls configured for ports 25 through 25
    * has network acls configured for ports through
    * has network acls configured for ports through
    ############# DBMS_EPG DAD USAGE #############
    APEX
    IMAGES

    Hi Jules,
    You need a user with XDBADMIN rights to access the WebDav. Once you have access, you can open the URL as webfolder (in IE).
    Regards,
    Christian

Maybe you are looking for