@TransactionAttribute annotation being ignored by Transaction Manager

I am currently running jboss-4.0.4GA. I believe I must have something configured incorrectly, or I misunderstand transaction management performed by the container. Though I have my datasource declared as local-tx, which I believe allows transactions, it appears that my a call to a remote function in a stateless session bean is completely executed in one single transaction, regardless of the @TransactionAttribute tags.
In my example, I call a function with @TransactionAttribute = REQUIRED. This is the OUTER FUNCTION. This function inserts a record into the cust table of our database. Then this function calls a second function with @TransactionAttribute = REQUIRES_NEW. This is the INNER FUNCTION.
This function should, according to spec, start up a new transaction independant of the first function. However, the INNER function can select the (un-committed) cust record from the OUTER function. The INNER function then proceeds to add a cust record of its own to the database.
Control then returns to the OUTER function, which can succesfully read the cust record inserted by the INNER function, which is to be expected because the INNER function should have had its transaction committed. However, my program then throws a RuntimeException in order to force a rollback, and this rollback removes both the cust record inserted by the OUTER function and the cust record inserted by the INNER function.
To further my belief that the transaction manager is ignoring my @TransactionAttribute annotations, I change the TransactionAttributeType of the INNER function to "NEVER". According to spec, the code should throw an exception when this function is called within a managed transaction. However, when I run the code I get the exact same behavior as when the INNER function is "REQUIRES_NEW".
I would greatly appreciate if anyone has any insight into what I am doing wrong. Thanks!
Client Program that Invokes TestTransImpl Stateless Session Bean
public class Client{
     public static void main(String[] args) throws Exception {
          try{               
               Properties env = new Properties();
                           env.setProperty(Context.SECURITY_PRINCIPAL, "guest");
                           env.setProperty(Context.SECURITY_CREDENTIALS, "guest123");
                           env.setProperty(Context.PROVIDER_URL, "jnp://localhost:1099");
                           env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
                           env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.security.jndi.JndiLoginInitialContextFactory");
               InitialContext ctx = new InitialContext(env);
               TestTransRemote ttr = (TestTransRemote)ctx.lookup("TestTransImpl/remote");
               ttr.testTransactions();
          }catch(Exception e){
               e.printStackTrace();
               throw e;
}Remote Interface for TestTransImpl Stateless Session Bean
public interface TestTransRemote extends Serializable {
     public void testTransactions() throws Exception;
}TestTransImpl Stateless Session Bean
@Stateless
@Remote(TestTransRemote.class)
public class TestTransImpl implements TestTransRemote {
     private static final long serialVersionUID = 1L;
     @TransactionAttribute(TransactionAttributeType.REQUIRED)
     public void testTransactions() throws Exception{
          java.sql.Connection conn = getConnection();
          java.sql.PreparedStatement ps;
          ps = conn.prepareCall("insert into cust(loc,cust_no) values ('001',20)");
          ps.execute();
          System.out.println("OUTSIDE FUNCTION - Customer 20 created");
          requiredNewFunction();
          ps = conn.prepareCall("Select cust_no from cust where loc = '001' and cust_no = 24");
          java.sql.ResultSet results = ps.executeQuery();
          results.next();     
          System.out.println("OUTSIDE FUNCTION - Customer Read - Cust No = " + results.getLong("cust_no"));
          throw new RuntimeException();
     @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
     private void requiredNewFunction() throws Exception{
          java.sql.Connection conn = getConnection();
          java.sql.PreparedStatement ps;
          ps = conn.prepareCall("Select cust_no from cust where loc = '001' and cust_no = 20");
          java.sql.ResultSet results = ps.executeQuery();
          results.next();     
          System.out.println("INSIDE FUNCTION - Customer Read - Cust No = " + results.getLong("cust_no"));
          ps = conn.prepareCall("insert into cust(loc,cust_no) values ('001',24)");
          ps.execute();
          System.out.println("INSIDE FUNCTION - Customer 24 created");
     private java.sql.Connection getConnection() throws Exception{
          javax.sql.DataSource ds;
          javax.naming.InitialContext ic = new javax.naming.InitialContext();
          ds = (javax.sql.DataSource)ic.lookup("java:MyOracleDS");
          java.sql.Connection conn = ds.getConnection();
          return conn;          
}Datasource XML File
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
    <local-tx-datasource>
        <jndi-name>MyOracleDS</jndi-name>
        <connection-url>jdbc:oracle:thin:XXXXX(DB Host):1521:XXXXX(DB Sid)</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>XXXXX(username)</user-name>
        <password>XXXXX(password)</password>
        <min-pool-size>5</min-pool-size>
        <max-pool-size>100</max-pool-size>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
        <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
        <metadata>
            <type-mapping>Oracle10g</type-mapping>
        </metadata>
    </local-tx-datasource>
</datasources>Program Output
08:43:41,093 INFO  [STDOUT] OUTSIDE FUNCTION - Customer 20 created
08:43:41,125 INFO  [STDOUT] INSIDE FUNCTION - Customer Read - Cust No = 20
08:43:41,140 INFO  [STDOUT] INSIDE FUNCTION - Customer 24 created
08:43:41,140 INFO  [STDOUT] OUTSIDE FUNCTION - Customer Read - Cust No = 24

All ejb invocation behavior, including authorization, container-managed transactions, etc. only applies when the call is made through one of the appropriate ejb client objects. If
TestTransImpl.testTransactions() directly invokes requiredNewFunction() it's just a normal java
method call -- the ejb container has no idea it's happening and is not interposing. If you want
the full ejb invocation behavior when you invoke requiredNewFunction() you'll need to
make sure requiredNewFunction is part of a business interface, is public, and is invoked through
the corresponding ejb reference :
@Resource private SessionContext ctx;
public void testTransactions() throws Exception {
TestTransRemote testTrans = ctx.getBusinessObject(TestTransRemote.class);
testTrans.requiredNewFunction();
}

Similar Messages

  • Browser.download.manager.scanWhenDone being ignored

    Seems that the browser.download.manager.scanWhenDone is being ignored for jpgs, svg's, etc... Still sets them with the "file came from another computer...' blah blah and blocks them.

    one workaround - log in as an admin
    gpedit.msc
    User Configuration > Administrative Templates > Windows Components > Attachment Manager
    Enable: Do not preserve zone information in file attachments

  • Does the ADF support annotation transaction management?

    hi there,
    does the ADF support annotation transaction management or some kind of way like that? how?

    Trasnactions are mainitained in the Application module and in the task flow level.. so it do support transaction management..
    Annotations if you are asking about Java features then, Yes it supports that too..

  • Forte Transaction Management & 2PC

    Forte Transaction Management & 2PC
    The main purpose of 2PC in a distributed transaction manager is
    to enable recovery from a failure that occurs during the window
    of transaction commit processing. The Forte transaction manager was built
    with this in mind but only with respect to the "volatile" (or "in memory")
    objects that Forte manages. What this implies is that because Forte stores
    objects in memory and not persistently on disk, the requirement of recovery
    for these objects is significantly reduced (if not eliminated all together).
    Forte follows a distributed 2PC model in that tasks and messages carry
    along with them transaction identification and, during commit processing,
    every distributed participant is polled for its availability to commit
    the transaction. Applications saving persistent data to disk during a
    distributed Forte transaction need to concern themselves with the potential
    for failure during the commit processing window. Forte's prepare phase polls
    each site (confirming a communications link with each distributed participant)
    but no prepare request goes to the database primarily because (in release 1 and
    2 of forte) no database supported a general distributed two-phase commit
    (one could take issue with that in the case of Sybase, but rather than debate
    this point, suffice it to say that the general direction in the industry for
    support of this functionality was through TP monitors -- more on that later).
    Once all sites are ready to commit Forte expects that the commit will
    complete successfully. If at this moment, for example, a participating
    Sybase server terminates (with data not yet committed) while a participating
    Oracle server has already committed its unit of work, then the outcome of
    the distributed transaction is inconsistent - if no one has yet committed
    Forte will still abort the transaction. This "window of inconsistency"
    is documented in the Forte TOOL manual.
    Mission critical applications that require distributed transactions can
    address this window of inconsistency in a number of ways:
    * Utilize a TP monitor such as Encina (see below)
    * Log distributed updates in an auxiliary database table (much like a
    distributed transaction monitor's transaction-state log). This approach has
    been the traditional banking application solution prior to the commercial
    availability of products like Encina, Tuxedo, TopEnd, etc.
    This solution is somewhat complex and is usually not generic enough
    so as not to have to change code every time a new table or database
    site is introduced into the application's data model.
    * Rearrange the data model in order to eliminate the need for distributed
    transactions. This is usually only a temporary solution (with smaller
    numbers of active clients) and cannot be applied to complex legacy systems.
    With the advent of the X/Open distributed transaction architecture (the
    XA Interface) more database vendors have found that by complying with the
    XA interface they can plug their database-specific implementation of
    transaction into a globally managed transaction, with commit and abort
    processing being conducted by a central coordinator. Of course, the
    overall transaction manager coordinating the global transaction must
    itself, persistently record the state of the different distributed
    branches participating in the transaction. A significant portion of
    the functionality provided by products such as Encina, Tuxedo, TopEnd and
    OpenTP1 is to provide exactly this global transaction management.
    Rather than extend the Forte distributed transaction manager with the
    functionality necessary to manage and recover distributed transactions
    that modify data on disk, Forte has chosen to integrate with the emerging
    set of commercial transaction monitors and managers. This decision was
    built into the original design of the Forte transaction model (using XA and
    early Tuxedo white-papers as guidelines):
    * In Forte release 2 an integration with Encina was delivered.
    * In January 1997 a press release announced an integration of
    OpenTP1 with Forte for release 3.
    * The Forte engineering staff is currently investing integration
    with other transaction management products as well.
    Neil Goodman,
    Forte Development.

    You don't. ("manage" a transaction)
    There is nothing really to "manage".
    A transaction is automatically started when you make any changes to data (e.g. fire off a DML statement).
    You simply needs to issue a COMMIT or ROLLBACK when needed. A COMMIT at the end of the business transaction and not before (i.e. no committing every n number of rows). A ROLLBACK when hitting an exception or business logic error that requires the uncommitted changes to be undone.
    That in a nutshell is it. It is that simple.
    Oracle also supports creating savepoints and rolling back only some changes made thus far in the transaction.
    The only other thing to keep in mind that a DDL in Oracle issues an implicit commit. Firing off a DDL with cause any exiting uncommitted transaction to be committed.
    Transaction "logic/management" should not be made more complex than this.

  • Java user-defined transaction management not working correctly???

    Hi everyone,
    I have encountered a problem when using Java user-defined transaction management in my session bean. It threw an exception but I could not work out what that means. Could anyone comment on this? Thanks.
    This BrokerBean is a stateless session calling other entities bean to perform some simple operations. There are 2 Cloudscape databases in use. Invoices (EB) use InvoiceDB and all the other EBs use StockDB.
    If I comment out the user-defined transaction management code, then everything works fine. Or if I comment out the Invoices EB code, it is fine as well. It seemed to me that there is something wrong in transaction management when dealing with distributed databases.
    --------------- source code ----------------------
    public void CreateInvoices(int sub_accno) {
    try {
    utx = context.getUserTransaction();
    utx.begin();
    SubAcc subAcc = subAccHome.findByPrimaryKey(new SubAccPK(sub_accno));
    String sub_name = subAcc.getSubName();
    String sub_address = subAcc.getSubAddress();
    Collection c = stockTransHome.findBySubAccno(sub_accno);
    Iterator i = c.iterator();
    ArrayList a = new ArrayList();
    while (i.hasNext()) {
    StockTrans stockTrans = (StockTrans)i.next();
    int trans_id = stockTrans.getTransID();
    String tran_type = stockTrans.getTranType();
    int stock_id = stockTrans.getStockID();
    float price = stockTrans.getPrice();
    Invoices invoices = invoicesHome.create(sub_accno, sub_name, sub_address, trans_id, stock_id, tran_type, price);
    stockTrans = stockTransHome.findByPrimaryKey(new StockTransPK(trans_id));
    stockTrans.remove();
    utx.commit();
    utx = null;
    } catch (Exception e) {
    if (utx != null) {
    try {
    utx.rollback();
    utx = null;
    catch (Exception ex) {}
    // e.printStackTrace();
    throw new EJBException("BrokerBean.CreateInvoices(): " + e.getMessage());
    --------------- exception ----------------------
    Initiating login ...
    Enter Username:
    Enter Password:
    Binding name:`java:comp/env/ejb/BrokerSB`
    EJB test succeed
    Test BuyStock!
    Test BuyStock!
    Test BuyStock!
    Test BuyStock!
    Test SellStock!
    Test SellStock!
    Caught an exception.
    java.rmi.ServerException: RemoteException occurred in server thread; nested exce
    ption is:
    java.rmi.RemoteException: BrokerBean.CreateInvoices(): CORBA TRANSACTION
    _ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806
    completed: Maybe
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.mapSystemExceptio
    n(ShutdownUtilDelegate.java:64)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    at BrokerStub.CreateInvoices(Unknown Source)
    at Client.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:22
    9)
    at com.sun.enterprise.appclient.Main.main(Main.java:155)
    Caused by: java.rmi.RemoteException: BrokerBean.CreateInvoices(): CORBA TRANSACT
    ION_ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806
    completed: Maybe
    at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.ja
    va:389)
    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:43
    1)
    at BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJBObjectImpl.java
    :265)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
    nericPOAServerSC.java:520)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
    ericPOAServerSC.java:210)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
    erverSC.java:112)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
    sor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
    ool.java:99)

    Three things:
    first, maybe you should think of putting ut.begin() just before the invoicesHome.create() method and ut.commit() just after the stockTrans.remove() method.It wont solve the current problem but will help in performance once the problem is solved.
    second, your utx.commit() is outside the try block. how come the code is compiling then??
    third, try doing a SOP call before and after invoicesHome.create() method and see where the problem actually lies.
    let us know...
    Hi SteveW2,
    Thanks for being so helpful. Here are my replies:
    Can I just ask why you're not using containermanaged
    transactions?The reason why I didn't use container managed
    transactions is because I don't really know how to do
    that. I am more familiar with this user-defined
    transaction handling.
    I have attempted to implement the same method in an
    entity bean and just let the container manage the
    rollback itself. The same exception was thrown when
    running the client.
    Also, the transaction behaviour is likely to relateto
    the app server youre using - which is it?What do you mean by the app server? I am using J2EE
    1.3.1 if that is what you meant.
    Finally, if your code has a problem rolling back,and
    throws an exception, you discard your exception
    thereby losing useful information.I have tried to print the exception stack as well, but
    it is the same as just printing the general
    exception.
    This problem is very strange cause if I comment out
    the transaction management thing, then everything
    works fine. Or if I am only working with 1 single
    database, with this user-defined transaction handling,
    everything works fine as well.
    Here is the error log from J2EE server if you are
    interested.
    ------------ error log ---------------
    javax.ejb.TransactionRolledbackLocalException:
    Exception thrown from bean; nested exception is:
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
         at InvoicesBean.ejbCreate(Unknown Source)
    at
    InvoicesBean_RemoteHomeImpl.create(InvoicesBean_Remote
    omeImpl.java:31)
         at InvoicesHomeStub.create(Unknown Source)
         at BrokerBean.CreateInvoices(Unknown Source)
    at
    BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJB
    bjectImpl.java:261)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown
    Source)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    chToServant(GenericPOAServerSC.java:520)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.inter
    alDispatch(GenericPOAServerSC.java:210)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    ch(GenericPOAServerSC.java:112)
    at
    com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:25
    at
    com.sun.corba.ee.internal.iiop.RequestProcessor.proces
    (RequestProcessor.java:84)
    at
    com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThr
    ad.run(ThreadPool.java:99)
    javax.ejb.TransactionRolledbackLocalException:
    Exception thrown from bean; nested exception is:
    javax.ejb.EJBException: ejbCreate: Connection
    previously closed, open another Connection
    at
    com.sun.ejb.containers.BaseContainer.checkExceptionCli
    ntTx(BaseContainer.java:1434)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(Base
    ontainer.java:1294)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseCo
    tainer.java:403)
    at
    InvoicesBean_RemoteHomeImpl.create(InvoicesBean_Remote
    omeImpl.java:37)
         at InvoicesHomeStub.create(Unknown Source)
         at BrokerBean.CreateInvoices(Unknown Source)
    at
    BrokerBean_EJBObjectImpl.CreateInvoices(BrokerBean_EJB
    bjectImpl.java:261)
    at BrokerBeanEJBObjectImpl_Tie._invoke(Unknown
    Source)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    chToServant(GenericPOAServerSC.java:520)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.inter
    alDispatch(GenericPOAServerSC.java:210)
    at
    com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispa
    ch(GenericPOAServerSC.java:112)
    at
    com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:25
    at
    com.sun.corba.ee.internal.iiop.RequestProcessor.proces
    (RequestProcessor.java:84)
    at
    com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThr
    ad.run(ThreadPool.java:99)
    What is "connection previously closed, open another
    connection"? This might be the cause of the
    exception.
    I'll keep trying till I solve the problem.
    Thanks,
    Sasuke

  • Transaction Management in JMS adapter

    Hi,
    I am creating a BPEL process for inserting data in a JMS queue (for producing message on queue) with transaction management, and came across the property "isTransacted", can anyone please help me with the functionality of this property, and how to handle transactions with JMS Queue.
    Thanks.

    First of all the JMS specification does not define the behavior for multiple clients accessing a queue. Having said that, most vendors do offer this. Since it is not defined in the specification mileage can vary from provider to provider. However, most vendors do the obvious/intuitive thing.
    When a client receives a message from a queue it is not available to anyone else until the final disposition of that message can be determined. Acknowledge and commit permanently remove the message from the queue. Recover and rollback put the message back in the queue. The death of the client results in a recover or rollback. When a message goes back to the queue, it is made available to all clients who are waiting (possibly even the same client (except in the case of the dead client)).
    With respect to your questions, the intuitive behaviors are:
    1) message goes back and someone else has a chance to get it
    2) If you have a transacted session then the acknowledge is simply ignored, and since you didn't call commit, the message is still considered outstanding (and no one else can get it). If the session is not transacted then the acknowledge causes the message to be permanently removed from the destination (and no one else can get it).
    3) if the session is transacted then the commit permanently removes the message from the destination (and no one else can get it). if the session is not transacted then the commit must throw an exception and since you didn't call acknowledge, the message is still considered outstanding (and no one else can get it).
    Client2 could only receive the same message if client1 rolledback or recovered the message (which should occur if client1 dies).
    _sjz.

  • Receiving Transaction Manager concurrent program errors out with INACTIVE, NO Manager

    Hi,
    We have an R12.1.3, 2-node (1 node Apps, 1 node DB) ERP system on Sparc 64, Solaris 10 Machines.
    All the concurrent managers including Standard Manager and Receiving Transaction Manager are running fine.
    When we are running the concurrent program Receiving Transaction Manager(RCVTPO), it errors out with Inactive No Manager error.
    I am not being able to find any errors in the log files of CM or DB.
    Could someone help me resolve this error. Its kinda urgent
    Thanks.
    Muneer

    Please see the solution in (PODAMGR And RCVOLTM Inactive And Cannot Be Started (Doc ID 726158.1)).
    Are there any errors in the database log file?
    If the above didn't help, please run cmclean.sql and ccm.sql scripts.
    Concurrent Processing - CMCLEAN.SQL - Non Destructive Script to Clean Concurrent Manager Tables (Doc ID 134007.1)
    Concurrent Processing - CCM.sql Diagnostic Script to Diagnose Common Concurrent Manager Issues (Doc ID 171855.1)
    Thanks,
    Hussein

  • Con. Req. 'Receiving Transaction Manager' Inactive/No Manager : This request is an unconstrained request. (queue_method_code = I) , No concurrent manager is defined to process this request, so it cannot be processed.

    Hi Gurus,
    I need your help on a concurrent request ( Receiving Transaction Manager ) showing as Inactive/No Manager.
    EBS: R12.1.2 on Linux
    Database: 11.2.0.3 on HP UX Itanium
    A user is submitting the concurrent request - "Receiving Transaction Manager" (It is a concurrent program not a concurrent manager).  The request ends up as Inactive/No Manager. When I click on the diagnostics button this is what it shows -
    "No concurrent manager is defined to process this request, so it cannot be processed.
    Contact your system administrator to define a concurrent manager to process this request or to verify that existing concurrent managers have the correct specialization rules."
    I ran analyzereq.sql and the analysis is
    Analysis:
    Request 1427025 is in phase "Pending" with status " Normal".
                               (phase_code = P)   (status_code = I)
    This request is an unconstrained request. (queue_method_code = I)
    It is in a "Pending/Normal" status, ready
    to be run by the next available manager.
    Checking managers available to run this request...
    There is no manager defined that can run this request
    This should show on the form as Inactive/No Manager
    Check the specialization rules for each
    manager to make sure they are defined correctly.
    Additional information (from apps.FND_CONC.DIAGNOSE):
    No concurrent manager is defined to process this request, so it cannot be processed.
    Contact your system administrator to define a concurrent manager to process this  request or to verify that existing concurrent managers have the correct specialization rules.
    I ran another SQL to find out which manager runs the program :
    select CONTROLLING_MANAGER,request_id
    from fnd_concurrent_requests
    where request_id=1427025;
    It returned blank (or) NULL for controlling Manager.
    select b.USER_CONCURRENT_QUEUE_NAME from fnd_concurrent_processes a,
    fnd_concurrent_queues_vl b, fnd_concurrent_requests c
    where  a.CONCURRENT_QUEUE_ID = b.CONCURRENT_QUEUE_ID
    and    a.CONCURRENT_PROCESS_ID = c.controlling_manager
    and    c.request_id = 1427025;
    Returned Nothing.
    I thought that for a concurrent program when no specific manager is defined, Standard Manager is the default. Is my understanding wrong ?? Have anyone of you faced this issue? How did you fix it ?
    I did check the profile - Concurrent: Conflict Domain for the responsibility and it is blank.
    Appreciate any help.
    Thanks
    Cherrish Vaidiyan

    Was this working before? If yes, any changes been done recently?
    Your understanding is correct, unless this concurrent program is excluded from being processed by standard manager.
    If the request was not processed then the no rows output is an expected behavior -- (Doc ID 344011.1)
    Have you tried the solution in (Doc ID 1303315.1)?
    Thanks,
    Hussein

  • How Transaction Manager work with Resource Manager, like Connection pool?

    hi,
    I'm using BEA Webloigc8.1 Stateless Session Bean/DAO/Oracle stored proc.
    but I'm not quite clear how Transaction Manager work with Resource Manager, like Connection pool.
    my understanding is that, in a weblogic transaction, a stateless session bean interact with several DAOs, and for each method of DAO a connection is acquired from connection pool. I've heard that the connection will not return to pool until the transaction commits.
    My question is that, does it mean that for a weblogic transaction, multiple connections might be allocated to it? and if multiple connections are allocated, then how many oracle transactions would be started? or multiple connections share the same oracle transaction?
    I didn't feel it make sense to start multiple oracle transactions, cause deadlock might be incurred in a single weblogic transaction.
    any help appreciated!

    Xin Zhuang wrote:
    hi,
    I'm using BEA Webloigc8.1 Stateless Session Bean/DAO/Oracle stored proc.
    but I'm not quite clear how Transaction Manager work with Resource Manager, like Connection pool.
    my understanding is that, in a weblogic transaction, a stateless session bean interact with several DAOs, and for each method of DAO a connection is acquired from connection pool. I've heard that the connection will not return to pool until the transaction commits.
    My question is that, does it mean that for a weblogic transaction, multiple connections might be allocated to it? and if multiple connections are allocated, then how many oracle transactions would be started? or multiple connections share the same oracle transaction?
    I didn't feel it make sense to start multiple oracle transactions, cause deadlock might be incurred in a single weblogic transaction.
    any help appreciated!Hi. If you configure your WLS DataSource to use keep a connection for
    the duration of a tx, it will do that, and in any case there can be
    no deadlock however many connections operate for a given XA transaction.
    Here is the best coding form for DAOs or any other user-written code
    for using WebLogic DataSources. This is important for two reasons:
    1 - Thread-safety is maintained as long as the connection is a
    method-level object.
    2 - It is crucial to notify WebLogic that you are done with a connection
    ASAP, by your calling close() on it. We will then put it back in the
    pool, or keep it under the covers for your next request if it's in a
    transaction etc. The pool is optimized for quick get-use-close scenarios.
    public void one_of_my_main_JDBC_Methods()
    Connection con=null; // Must be a method level object for thread-safety
    // It will be closed by the end of the method.
    try {
    con = myDataSource.getConnection(); // Get the connection in the try
    // block, directly from the WebLogic
    // datasource
    // do all the JDBC within this try block. You can pass the
    // connection to subordinate methods, but not to anywhere
    // that thinks it can use the connection later.
    rs.close(); // close any result set asap
    stmt.close(); // then close any statement asap
    // When you're done with JDBC
    con.close(); // close the connection asap
    con = null; // nullify it so the finally knows it's done
    catch (Exception e) {
    // do whatever catch stuff you want. You don't
    // need a catch block if you don't want one...
    finally {
    // It is important to close a JDBC connection ASAP when it's not needed.
    // without fail, and regardless of exit path. Do everything in your
    // finally block in it's own try-catch-ignore so everything is done.
    try { if (con != null) con.close();} catch (Exception ignore){}
    return ret;
    }

  • BPEL Transaction Management from Client Caller

    Hi Guys,
    I have read many articles and postings so far on transaction management, but they all seem to relate to within the BPEL process itself. I want to know if the following is doable within BPEL and if so how to configure it.
    - I have a J2EE application that integrates with BPEL through the ITaskService (using Remote EJBs underneath the cover) - Oracle BPEL is installed on a separate machine on the OC4J container.
    - So, is there a way for the operations done to the ITaskService to participate in my J2EE application's transaction, to give you an example:
    - Begin Transaction()
    - user does something that results in updating a task's attribute
    - some other operations are being performed; if there is an exception thrown, roll back
    - End Transaction()
    Thanks very much in advance.
    Drew

    Hi Drew,
    Please refer Antony Reynold's blog:
    http://blogs.oracle.com/reynolds/2008/09/transaction_processing_in_bpel.html
    It says when the BPEL Process is invoked from a java API that has its own
    transaction context, the BPEL Process also will participate in the same
    transaction context.
    Hope this helps.
    Thanks,
    Vasanth

  • EJB3 annotation @ApplicationException ignored in WLS10.0/10.3 ??????

    Hi
    I have defined an exception and annotated it like this:
    @ApplicationException(rollback=*false*)
    *public class RuntimeApplicationException extends RuntimeException {.....................*
    I have 2 ejb's - an "outer" ejb that calls a method on an "inner" ejb. The method in the "inner" ejb throws a RuntimeApplicationException and i should - according to the spec - receive the RuntimeApplicationException unchanged in the "outer" ejb's catch clause and the existing transaction should not be rolled back (rollback=*false,* which is also the default value).
    Unfortunately I receive an "javax.ejb.EJBTransactionRolledbackException" with the expected RuntimeApplicationException as a nested exeption and the transaction is rolled back. So the annotation is ignored? or should i do something more?
    I have tried this in WLS10.0MP1 and WLS10.3 and can't get it working. Has anyone tried this?
    regards Ole W.

    I'm having this exact problem. Did you ever figure out what was going on? Or does anyone else have any ideas?

  • Being ignored

    My name is David and I've been a Verizon Wireless customer for the past few years. A couple of months ago, I began having issues with a brand new jetpack device. The device was using absurd amounts of data and I had no clue why. I contacted customer service and eventually got in touch with (removed) Smith, a supervisor. We talked about three times over the phone, on separate occasions, trying to figure out what was causing the problem. We reset the device, changed the password, etc., but nothing was fixing the problem. In the meantime, I had taken multiple steps to make sure nothing was using the data on my end. I set up a metered connection, which tracked exactly how much data went through my computer and it was not even close to what the jetpack was saying, despite being the only device connected to it. Ms Smith gave me her email address to stay in closer contact with her while we were trying all of the steps to fix the issue, so I could let her know exactly what I was seeing. The email address she gave me was (removed) Our contact first started in November and she sent me the first email on 12/1/13. The device began using even more data, now at a very alarming rate. In one night, it used 12.5 GBs of data. I spoke with her again on 12/14/13 when I first noticed how much data it had been using. She eventually sent me a new device, stating that the one I had was faulty and she wanted me to let her know when I got the new one so she could monitor the activity and see if it was following the same pattern or if it was acting normal. It ended up working 100% fine and not like the faulty device I had sent back in. She had told me over the phone that she would fix all of the overage charges from when I first got the device since it was messed up. She gave me credit for the total of overage from the first 3 months with the device, but she hadn't fixed the bill that had used 55 GBs of data, which was the last cycle in which I had that particular device.
    The last time I heard from Ms. Smith was on 12/31/13 when she had told me she was going to fix the charges. In the meantime, I was left waiting to hear that the fourth and final month had been taken care of, so the $460 worth of overages was still sitting on my bill. On 12/31/13, she emailed me asking for my number to reach me on so she could call me that day. I responded with my number, but never received a call. A week later on 1/6/14, I emailed her again with my number, telling her that I wasn't sure if she had received my email or not, but I was still waiting. As of 1/21/14, I had still not received a call, so I emailed her again telling her I needed to talk to her ASAP so we could get everything resolved and I could pay my bill. I also mentioned that I needed to have my data plan changed back to normal (16 GBs) rather than the 30 GB plan because it was too much. I had been bumped up to 30 GBs during that big month of overages, to try and prevent extra charges. A little less than a week later on 1/26/14, I emailed Ms. Smith once again, telling her I was worried about my service getting cut off and I needed to speak with her ASAP. I mentioned that I did not want to have to start from scratch with someone else.
    On 2/6/14, I woke up to discover that my service had indeed been turned off. I called and spoke with someone in customer service, explaining what had been going on. I was told by that representative that her supervisor would call me between 8-10 PM that night, but in the meantime my service would be temporarily restored. I never received a call. Around 10:30, I called back to try and speak with someone else. I was put through to another representative, once again having to explain what had been going on. This representative told me that I would have to wait for a call back from his supervisor, because he would be leaving at 11:00 PM. I explained to the representative that I was already promised a call back that night and didn't receive a call, so I had to have it taken care of because my service was shut off. His supervisor took my call and told me that there wasn't much they could do, because Ms. Smith had already started my case. He said they would send her an email, telling her she needs to contact me. He told me that he would have someone from his team call me back within 24-48 hours to see if she got in touch with me and if not, I would start from scratch with them.
    In the meantime, I sent Ms. Smith an email the next day on 2/7/14, telling her my service had been shut off and I tried calling the night before to speak with someone else, but they couldn't do much for me because she had already been working with me. Again, I never did get a response.
    Monday 2/10/14 had come along and once again my service was turned back off. I never did receive a call from the supervisor I spoke with on 2/6/14, who had promised me his team would call me back no later than 48 hours. So, again, I called to try and speak with someone else. I eventually got through to another supervisor, but after I explained to him what had been going on, the call was disconnected. I waited for about 30 minutes to see if he'd call back, but he didn't. Once again, I called to try and speak with someone else. I was directed towards the financial department and I explained to them that I was just talking with someone and was disconnected, so I was hoping to get back to them. I was told that there was no way to trace me back to the man I was speaking with. I then explained to that representative what was going on and she told me that if I paid the actual monthly access portion of my outstanding bill, my service would be restored and she would promise to put a note on my account to not turn it off again, because I was working to have the charges fixed. I paid the monthly access and she then transferred me to technical support to have someone in that department help me further. I then explained my story to the technical representative and she told me that her supervisor was not on-duty at the time, but she was preparing an email to send to her and she would definitely get back to me by the end of the week. That was two weeks ago from today and I've yet to receive a call from anyone.
    Once again, I woke up today to find that my service had again been shut off. I called in and spoke with financial services and explained to them what has been going on and she said if I went ahead and paid my bill that had just come due for last month, she could turn it on. So, that's what I did, but I'm still left in the dark as for the future.
    I am so beyond frustrated with this entire situation, that I have no clue what to do. I've told this story to at least ten people and I've gotten no where. To say that I feel like I'm being ignored, is an understatement. I can send y'all the entire transcript of emails with myself and Ms. Smith, proving that I've been trying to contact her for the past month and a half. This whole situation has gone further than the simple problem of the overage charges. It has now risen to a ridiculous level that I am being ignored by what seems like the entire company as a whole. How many times do I have to call to where I can finally work with one person who will help fix the problem? How many times can one customer be told that he will be contacted and he never receives a call? At this point, I am more than prepared to go over to Sprint and cancel my service with Verizon. The $460 that I am being raked trough the coals for will be nothing compared to not having my business for years to come. I am also prepared to contact and file complaints with the FCC or BBB for the fact that I have done absolutely everything in my power, including going in to a local store, to speak with someone about my issues. Like I said, I have the emails proving that I've been ignored and I can show them to y'all or to them. I don't know what to do anymore and I'm tired of calling and starting over with a new representative then being transferred around in loops where I have to re-tell the entire story again, so this is my last resort. If I don't get help by the end of the day, I'll be somewhere else tomorrow.
    Private info removed as required by the Terms of Service.
    Message was edited by: Admin Moderator

    Hi Barry,
    I am sorry about the mix up with the order, could you send me a PM of your contact details? Please include the email address you used to contact support.

  • I have replied to you three times now without reply. I DID NOT authorise a payment of £9.99 for NowTV. What is the solution to getting my money refunded. I think you assume I will go away after being Ignored. No I will not go away. I find now that you hav

    I have replied to you three times now without reply. I DID NOT authorise a payment of £9.99 for NowTV. What is the solution to getting my money refunded. I think you assume I will go away after being Ignored. No I will not go away. I find now that you have DISABLED MY APPLE ID. Is this a punishment you use to anyone who takes up a stand against charges being made unauthorised on their account?. Please tell me why you have disabled my account. When will my account be restored? If not when will you refund ALL my purchases made to APPLE/ITUNES? I can then move on to another brand and hopefully better customer service. After reading articles regarding APPLE ID DISABLED it appears common practice from your company to DISABLE anyone's account if they question unknown charges. Please reply with your intentions regarding  the unauthorised payment and the DISABLING of my account.
    David Forrester.
    Sent from my iPad
    On 18 Mar 2014, at 09:20, iTunes Store <[email protected]> wrote:
    Follow-Up: 319042795
    Hello again,
    I wanted to send a quick note to see if you are still experiencing any difficulties with the iTunes Store. Resolving your issue is important to me, so please don't hesitate to reply if you need any further assistance.
    Sincerely,
    iTunes Store Customer Support
    http://www.apple.com/support/itunes/ww/
    Dear David,
    Welcome to iTunes Store Customer support.
    I understand that you have been charged an additional 9.99 GBP for a purchase that not authorized. I know how eager you are to know more about this purchase and I am happy to look into this for you.
    David, the purchase worth 9.99 GBP was for a day pass from "NOW TV for Apple TV." To review your iTunes Store account's purchase history, please follow the steps in this article:
    iTunes Store &amp; Mac App Store: Seeing your purchase history and order numbers
    http://support.apple.com/kb/HT2727
    Please reply to this email and let me know if this purchase was unauthorized.
    Thank you for being an iTunes Store customer. Have a great day!
    Sincerely,
    iTunes Store Customer Support
    http://www.apple.com/support/itunes/ww/
    Lang_Country: en_gb
    User Storefront: UK
    Concern Type: Problem Not Listed
    Web Order #:
    Content Title: NOW TV Day Pass
    Provider Name: BSkyB
    Track IDs: []
    Purchase Date : 2014-03-16 12:33:48 Etc/GMT
    Purchase Device : Apple TV
    Comments : I am being charged for what is listed plus another _9.99 for Apple TV pass. Did not authorise this _9.99 charge and not sure what it is exactly.
    <Personal Information Edited by Host>

    This is a user-supported board. You are not addressing Apple here. Nor is it a good idea to post your private information to a public forum. You should edit your post immediately.
    Unfortunately no one here can access your support history. You must respond to the emails directly.

  • Error while Running Receiving Transaction Manager

    Hi.,
    We have 11..5.10.2 on AIX 5.3 intermeditley we are getting the below error for Receiving Transaction Manager. for temporary sloution we will restart the Receiving Transaction Manager is there any permanent solution for this.....?
    we have two Receiving Transaction Manager process.
    Error
    "APP 00204: Concurrent manager encountered an error while running the spawned
    concurrent program Receiving Transaction Manager: rcvoltm TM:Timeout"

    Hello.
    Have a look on MOS Doc ID 1071727.1
    Octavio

  • In insert: Space after period and before carriage return is being ignored

    I am using Oracle 11.2.0.2.
    let say I create table temp(a varchar2(20);
    insert into temp values ('value.
    valuue2');
    I have put space after 'value. ' but it is being ignore when I run it from linux host in sqlplus.
    The space seems to be preserved when I insert it from TOAD/Windows xp.
    Any idea what might be causing it.

    hI,
    I have the same result in SQLPLUS.
    I would not rely on code with strings spread over multiple lines you should use the below code to add newlines:
    insert into temp values ('Yes.Space. ' || chr(10) || 'x');This makes it very clear there is and a space and a newline.
    This is much easier to maintain as well.
    Just to compair the two, see below:
    select
      LEVEL
      ,substr(a ,level,1)
      ,ASCII( substr(a ,level,1) )
    from
    SELECT
    'YES.Space.
    x' A
    FROM
      DUAL
    connect by --NOCYCLE
      level <= length(a)
    LEVEL SUBSTR(A,LEVEL,1) ASCII(SUBSTR(A,LEVEL,1))
        1 Y                                       89
        2 E                                       69
        3 S                                       83
        4 .                                       46
        5 S                                       83
        6 p                                      112
        7 a                                       97
        8 c                                       99
        9 e                                      101
       10 .                                       46
       11                                         32
       12                                          10
       13 x                                      120
    13 rows selected
    select
      LEVEL
      ,substr(a ,level,1)
      ,ASCII( substr(a ,level,1) )
    from
    SELECT
    'Yes.Space. ' || chr(10) || 'x' a
    FROM
      DUAL
    connect by --NOCYCLE
      level <= length(a)
    LEVEL SUBSTR(A,LEVEL,1) ASCII(SUBSTR(A,LEVEL,1))
        1 Y                                       89
        2 e                                      101
        3 s                                      115
        4 .                                       46
        5 S                                       83
        6 p                                      112
        7 a                                       97
        8 c                                       99
        9 e                                      101
       10 .                                       46
       11                                         32
       12                                          10
       13 x                                      120
    13 rows selected Regards,
    Peter
    Edited by: Peter vd Zwan on Apr 19, 2012 1:06 PM

Maybe you are looking for

  • LSMW for GARNISHMENTS

    hi frenz... i am doing LSMW for 195(garnishment order). while recording it is not allowing me to enter in to 195 unless i enter in 194. i dont want to do for 194.. i want to do directly for 195. plzz help me.

  • Runtime error while collecting objects for activaton from  BC

    Hi gurus, While collecting objects from busines content for installation, it is giving runtime error whith below description. "UNCAUGHT_EXCEPTION" "CX_RSD_NAME_ERROR"                "SAPLRSDN_IOBJ" or "LRSDN_IOBJU35"                "RSD_IOBJNM_PARSE"

  • MPD + Pulseaudio problem

    Hey guys, I'm having trouble with mpd coupled with pulseaudio when trying to play surround sound (5.1) songs. The issue seems to be that mpd completely ignores my front-right speaker - nothing comes out of it. deadbeef and amarok can play the songs p

  • What do those numbers mean?

    I still don't know what do those numbers mean when an exception occurs. For examplej ava.lang.IllegalArgumentException: argument is null      at javax.swing.tree.DefaultMutableTreeNode.getIndex(DefaultMutableTreeNode.java:262)      at javax.help.plaf

  • Rectify this Analytical function

    Hi friends This query is similar to what I had asked few days ago. I am getting data in the following manner: Month | MOB | sum(NewAcct) | sum(ActiveAcct) 082009 | 0 | 1407 | 1358 082009 | 1 | 0 | 1277 082009 | 2 | 0 | 1000 092009 | 0 | 1308 | 1269 0