EJB transaction isolation not working

I'm trying to use TRANSACTION_SERIALIZABLE isolation level in my EJB test application
with no success so far.
The environment is Windows NT, WebLogic 6.1, Informix DB (which, according to
its documentation, supports TRANSACTION_SERIALIZABLE), and a Tx Data Source on
a JDBC pool.
I have an CMP Entity EJB with the following definitions:
<container-transaction>
<method>
<ejb-name>SdrFA</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<transaction-isolation>
<isolation-level>TRANSACTION_SERIALIZABLE</isolation-level>
<method>
<ejb-name>SdrFA</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
<method>
<ejb-name>SdrFA</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
</transaction-isolation>
The entity EJB is used by a servlet that uses JTA to establish a transaction that
the EJB methods should share ("Required" transaction attribute). The servlet is
as follows:
// Establish a transaction
UserTransaction trn =
(UserTransaction) ctx.lookup("java:comp/UserTransaction");
trn.begin();
trn.setTransactionTimeout(20);
// Get the EJB
SdrFA fFA = home.findByPrimaryKey( fFAPK );
// Update an attribute
fFA.setSomeAtt("someData");
// Sleep to control concurrency
Thread.currentThread().sleep(t * 1000);
// commit
trn.commit();
I expected this setup to prevent concurrent updates and even accesses to the same
DB table row, but this is not the case: when I invoke the servlet from a session
and then invoke it again from another session while the first one is sleeping,
the second one completes all right and is visible in the DB before the first one
commits.
Just in case TRANSACTION_SERIALIZABLE is not supported after all, I tried TRANSACTION_REPEATABLE_READ
instead whith the same results.
Is there something I'm missing, or any error in my setup?
Thanks for any suggestion,
Pere Torrodellas

Hi Pere,
AFAIR delay-updates-until-end-of-tx is set to True by default, so the
actual update is not issued untill TX is commited. I'd try setting it to
false and running the test again.
Here are some documentation references:
http://e-docs.bea.com/wls/docs61/ejb/EJB_environment.html#1048164
http://e-docs.bea.com/wls/docs61/ConsoleHelp/wls_ejb_jar_dtd.html
Regards,
Slava Imeshev
"Pere Torrodellas" <[email protected]> wrote in message
news:[email protected]...
>
I'm trying to use TRANSACTION_SERIALIZABLE isolation level in my EJB testapplication
with no success so far.
The environment is Windows NT, WebLogic 6.1, Informix DB (which, accordingto
its documentation, supports TRANSACTION_SERIALIZABLE), and a Tx DataSource on
a JDBC pool.
I have an CMP Entity EJB with the following definitions:
<container-transaction>
<method>
<ejb-name>SdrFA</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<transaction-isolation>
<isolation-level>TRANSACTION_SERIALIZABLE</isolation-level>
<method>
<ejb-name>SdrFA</ejb-name>
<method-intf>Home</method-intf>
<method-name>*</method-name>
</method>
<method>
<ejb-name>SdrFA</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
</transaction-isolation>
The entity EJB is used by a servlet that uses JTA to establish atransaction that
the EJB methods should share ("Required" transaction attribute). Theservlet is
as follows:
// Establish a transaction
UserTransaction trn =
(UserTransaction) ctx.lookup("java:comp/UserTransaction");
trn.begin();
trn.setTransactionTimeout(20);
// Get the EJB
SdrFA fFA = home.findByPrimaryKey( fFAPK );
// Update an attribute
fFA.setSomeAtt("someData");
// Sleep to control concurrency
Thread.currentThread().sleep(t * 1000);
// commit
trn.commit();
I expected this setup to prevent concurrent updates and even accesses tothe same
DB table row, but this is not the case: when I invoke the servlet from asession
and then invoke it again from another session while the first one issleeping,
the second one completes all right and is visible in the DB before thefirst one
commits.
Just in case TRANSACTION_SERIALIZABLE is not supported after all, I triedTRANSACTION_REPEATABLE_READ
instead whith the same results.
Is there something I'm missing, or any error in my setup?
Thanks for any suggestion,
Pere Torrodellas

Similar Messages

  • EJB Transaction does not work

    Hi,
    I have a servlet, a session bean, and an entity bean. A servlet doesn't have any transaction attribute, a session bean has Required, and an entity bean has Required. I have the code like the following:
    Servlet:
    EJBDelegate ed = new EJBDelegate();
    TwoPhaseSB sb = ed.getTwoPhaseSB();
    sb.testTransaction();Session Bean:
    public void testTransaction() {
        try{
            TestInfoLocal testInfo;
            TestInfoLocalHome testInfoHome = TestInfoUtil.getLocalHome();
            testInfo = testInfoHome.create("525252", "353535", "transaction test insert", "etc");
            testInfo.setElement_id("111111");
            //There's no item which has its primary key as 7777, so there's exception error occurs   
            testInfo = testInfoHome.findByPrimaryKey(new Integer(7777));
        }catch(Exception e){
             e.printStackTrace();
    }Since the code in testTransaction is supposed to run in the same transaction, if there's exception occurrs, isn't it supposed to rollback? I mean, creation of item and update should be rollback. But, the data is inserted and created although there's exception. Could anyone can give me the idea why transaction doesn't work? FYI, I'm using Weblogic8.1.

    Yes, you're right. I am using CMP. I added the following exceptions to my session bean but still the changes are updated:
         }catch(EJBException e){     
              e.printStackTrace();
         }catch (NamingException e) {
              e.printStackTrace();
         }catch (CreateException e) {
              e.printStackTrace();
         }catch (FinderException e) {
              e.printStackTrace();
         } I tried to insert "TransactionRolledbackException", but it's not thrown in any statement since my beans are managed by container. Could you tell me what exception should I use? Or should I add some exception to my entity bean? Finder methods are throwing FinderException currently.
    Thanks,

  • Transaction attributes and isolation not working as expected why ? !

    I have three beans participating in a TX
    SeatBean ---- entity (BMP)
    Res --------entity (BMP)
    AgentBean --- session (SFSB)
    AgentBean has bookSeat (seatNumber, amount) method that is being called by the client.
    The Agent bean bookSeat (seatNumber, amount) method locates the seat bean with the given seat number if the booked field is null (means the seat is open for booking)
    It sets the values for booking the seat (inserts a new record in Res table using ResBean and updates the Seat table using SeatBean )
    In the AgentBean I make a check if the booked filed is Y or null.
    If the field is Y it throws a RemoteException.
    I gave Tx attributes in the ejb-jar.xml for ALL the beans as follows
    In ejb-jar.xml <trans-attribute>Required</trans-attribute>
    In weblogic-ejb-jar.xml
    <transaction-isolation>
         <isolation-level>TRANSACTION_REPEATABLE_READ</isolation-level>
    I opened two windows as use1 and user2
    User1 makes search for a seat finds seat1 is not booked
    User2 makes search for a seat finds seat1 is not booked
    User1 books the seat
    User2 books the seat (user2 action is initiated immediately after user1 initiates the action)
    Use1 and user2 actions are successful. There are two records in Res table.
    The seat table reflects the last changes. i.e user2 action.
    My questions are
    1.user2 should not get any search result till user1 intiated TX is complete
    ( i.e user2 should got get any search result till user1 commits or roll back because TRANSACTION_REPEATABLE_READ )
    Why is that not happening?
    2.Since user1 books the seat for customer1 and sets booked = Y in seat table
    user should not be able to book the seat. but user2 actions are reflecting in DB.
    What is going wrong?
    Can any one explain?

    The following szenario will executed as follows:
    User1 makes search for a seat finds seat1 is not booked
    User2 makes search for a seat finds seat1 is not booked
    User1 books the seat
    User2 books the seat
    Use1 and user2 actions are successful. There are two records in Res table.1.) Agent Bean is a session bean with CMT:
    User1: | AgentBean.searchNotBookedSeats()
    Tx1 | call other EJBs with the same transaction
    | context (required)
    v <-- return
    **) at this point the transaction is finished, the
    isolation level is not used
    User2: | AgentBean.searchNotBookedSeats()
    Tx2 | call other EJBs with the same transaction
    | context (required)
    v <-- return
    User1: | AgentBean.bookSeat(...)
    Tx3 | Res.create(..) same transaction context
    v <-- return
    User2: | AgentBean.bookSeat(...)
    Tx4 | Res.create(..) same transaction context
    v <-- return
    In this case there are four transaction used. The easiest way to
    prevent that there exists more than one reservation for one seat is
    to use a database constraint. That's the way I would solve the
    problem.
    Here is another solution:
    2.) Agent Bean is a stateful session bean with BMT and the isolation
    attribute is higher or equal REPEATABLE_READ:
    User1: | AgentBean.searchNotBookedSeats()
    Tx1 | call other EJBs with the same transaction
    | context (required)
    v <-- return
    **) the method starts a transaction but does not
    finish it.
    User2: | AgentBean.searchNotBookedSeats()
    Tx2 | call other EJBs with the same transaction
    | context (required)
    v <-- return
    **) this method blocks until Tx1 will be finished
    User1: | AgentBean.bookSeat(...)
    Tx1 | Res.create(..) same transaction context
    v <-- return
    **) the method finish the transaction
    User2: | AgentBean.bookSeat(...)
    Tx2 | Res.create(..) same transaction context
    v <-- return
    In this case the isolation level will be used. The whole system is
    blocked for the time between searching and booking a seat.
    Thats not very good :-(
    Best Regards and mery christmas
    Markus

  • 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

  • OCJ4's EJB transaction isolation level

    Hello, all
    Does OC4J supports various transaction isolation level?
    I am using JDeveloper to create and deploy
    EJBs and all I can find is transaction attributes,
    and not isolation level. The book I am currently reading
    suggests that there's tx isolation setting in BEA
    WebLogic.
    If anybody has found a way to do this in OC4J + Jdeveloer,
    or if it is ever required, let me know.
    Thanks

    Hi
    You can specify the isolation level using the "isolation" attribute of the "entity-deployment" tag.
    Ex:
    <entity-deployment name="MyEJB" isolation="serializable">
    Go through the DTD for details :
    http://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtd
    --Shrini                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Transaction variant not working in quality

    Hi,
    I have created a transaction varient in SHD0 and activated it in develpoment and then
    it is working fine in development system.Then variant transported to quality and there also
    it is activated but somehow it is not working in qulaity sytem.
    I checked in the respctive transaction with following path
    SYSTEM>>>>>STATUS>>>>>SAP REPOSITORY DATA and i can find it is transaction variant name
    below screen program.
    Pl suggest the resolution.
    Regards,
    Rushikesh

    Hi,
    Check the variant is  transported properly in QA. If present then check the transaction for the same.
    If you make this transaction for a table the check the table delivery and maintenance allowed or not. It should be maintenance allowed.
    Thanks
    Subhankar

  • EJB 3 CMP not working in JBoss

    hi,
    i created a simple CMP Entity Bean with mySQL and works fine with OC4J but when delpoy to JBoss 4.0.4RC1, it doesn't work.
    What I realised is that when a JDeveloper create a CMP Entity Bean from a Table it uses @Resource annotaion while I saw all the JBoss samples using @Persistance annotation.
    I changed my CMP to use @persistence annotation and created a persistence.xml file; for somereason it is not working neither in JBoss nor does it work in OC4J.
    Now, if i continue using @Resource annotation, where can I set the datasource so that the @Resource annotation uses my datasource when I deploy it to JBoss?
    or is there any other way to get it working?
    p/s: my datasource is working fine. i created a simple slsb and used
    DataSource ds =
    (DataSource)context.lookup(
    "java:jdbc/mysqlDS");
    and it works fine both in OC4J and JBoss
    any help is appreciated.
    thanks

    Ok, i got this working in JBoss.
    1) Replaced @Resource annotation with @Peristence annotation
    @PersistenceContext(unitName="mysql")
    2) Created persistence.xml in META-INF directory
    <persistence>
    <persistence-unit name="mysql">
    <jta-data-source>java:/jdbc/mysqlDS</jta-data-source>
    <!-- <properties>
    <property name="hibernate.hbm2ddl.auto"
    value="create-drop"/>
    </properties> -->
    </persistence-unit>
    </persistence>
    that is it.
    It means that whether we create EJB 3 on toplink EJB 3 or hibernate EJB 3, we should be able to run it on any of these as long as we stick with the standard annotations. JBoss Hibernate EJB has many additional annotations.
    Now, the only thing that is not working is my Firebird DataSource in JBoss. If anyone has done it please let me know .. thanks.

  • Auto Deploy and VCD Network Isolation - Not Working

    Hello,
    I have opened a support case about this issue, but the case is moving a lot slower than I would like to see. I thought I'd post here to see if anyone has ran into anything similar.
    We recently switched our 24-host vCloud cluster (more info about this cluster below) over to Auto-Deploy (was using boot from USB). After the switch, we had a few complaints from customers that use isolated networks. It turns out that only 4 of our 24 hosts were working properly with isolated networks. All 24-hosts are using the same auto-deploy image.
    When the hosts boot up, the vCloud Director web interface shows the following with green check marks: "Status", "Enabled", "Ready", "Available", and "VCD Network Isolation Capable".
    To get my other 20 hosts working, I disabled all 20 hosts in the vCloud interface, unprepared them, and prepared them. After this, network isolation worked for those 20 hosts. When I reboot one of the hosts, the host still looks like it's good in the interface, but network isolation doesn't work until I disable, unprepare, and prepare.
    Here is some more information about our environment:
    vCenter build 2001466
    ESXi Host Build 2702864
    VCD Build 5.5.2.2000523
    vShield Build 5.5.3
    Here is the Deploy Rule that the hosts are using:
    Name        : UCS-2.2.1-pcloud.5.5.aln
    PatternList : {oemstring=$SPT:ESX_PublicCloud_autod.2.2.x}
    ItemList    : {ESXi-5.5.0-autod-2.2.1.vshield}
    I have confirmed that this is indeed the profile being used by looking at the Summary tab for the hosts and seeing the listed Image Profile.
    And here is what's in that item:
    PowerCLI D:\ImageBuild> Get-EsxSoftwarePackage
    Name                     Version                        Vendor     Creation Date
    misc-cnic-register       1.72.1.v50.1i-1vmw.550.0.0.... VMware     9/19/2013 6:0...
    scsi-lpfc820             8.2.3.1-129vmw.550.0.0.1331820 VMware     9/19/2013 6:0...
    scsi-megaraid-mbox       2.20.5.1-6vmw.550.0.0.1331820  VMware     9/19/2013 6:0...
    esx-xlibs                5.5.0-0.0.1331820              VMware     9/19/2013 6:0...
    lpfc                     10.0.100.1-1vmw.550.0.0.133... VMware     9/19/2013 6:0...
    mtip32xx-native          3.3.4-1vmw.550.1.15.1623387    VMware     2/22/2014 1:1...
    net-nx-nic               5.0.621-1vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    block-cciss              3.6.14-10vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    scsi-fnic                1.6.0.5-1OEM.500.0.0.472560    cisco      9/30/2013 11:...
    net-enic                 2.1.2.42-1OEM.500.0.0.472560   Cisco      9/5/2013 8:30...
    sata-sata-sil24          1.1-1vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    rste                     2.0.2.0088-4vmw.550.1.15.16... VMware     2/22/2014 1:1...
    elxnet                   10.0.100.0v-1vmw.550.0.0.13... VMware     9/19/2013 6:0...
    scsi-aacraid             1.1.5.1-9vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    ata-pata-cmd64x          0.2.5-3vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    net-cnic                 1.72.52.v55.1-1vmw.550.0.0.... VMware     9/19/2013 6:0...
    scsi-adp94xx             1.0.8.12-6vmw.550.0.0.1331820  VMware     9/19/2013 6:0...
    net-be2net               4.6.100.0v-1vmw.550.0.0.133... VMware     9/19/2013 6:0...
    net-ixgbe                3.7.13.7.14iov-12vmw.550.2.... VMware     4/29/2015 6:4...
    net-igb                  5.0.5.1.1-1vmw.550.2.54.240... VMware     1/1/2015 8:00...
    epsec-mux                5.1.0-01814505                 VMware     5/13/2014 4:3...
    esx-base                 5.5.0-2.62.2702864             VMware     4/29/2015 6:4...
    ata-pata-sil680          0.4.8-3vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    ipmi-ipmi-msghandler     39.1-4vmw.550.0.0.1331820      VMware     9/19/2013 6:0...
    ata-pata-hpt3x2n         0.3.4-3vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    scsi-megaraid-sas        5.34-9vmw.550.2.33.2068190     VMware     8/23/2014 1:5...
    scsi-mptsas              4.23.01.00-9vmw.550.0.0.133... VMware     9/19/2013 6:0...
    net-bnx2                 2.2.3d.v55.2-1vmw.550.0.0.1... VMware     9/19/2013 6:0...
    ata-pata-via             0.3.3-2vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    ima-qla4xxx              2.01.31-1vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    ata-pata-amd             0.3.10-3vmw.550.0.0.1331820    VMware     9/19/2013 6:0...
    ata-pata-serverworks     0.4.3-3vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    sata-sata-promise        2.12-3vmw.550.0.0.1331820      VMware     9/19/2013 6:0...
    sata-sata-nv             3.5-4vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    ipmi-ipmi-devintf        39.1-4vmw.550.0.0.1331820      VMware     9/19/2013 6:0...
    scsi-ips                 7.12.05-4vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    sata-sata-svw            2.3-3vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    scsi-mptspi              4.23.01.00-9vmw.550.0.0.133... VMware     9/19/2013 6:0...
    net-e1000e               1.1.2-4vmw.550.1.15.1623387    VMware     2/22/2014 1:1...
    esx-xserver              5.5.0-0.0.1331820              VMware     9/19/2013 6:0...
    net-tg3                  3.123c.v55.5-1vmw.550.2.33.... VMware     8/23/2014 1:5...
    net-forcedeth            0.61-2vmw.550.0.0.1331820      VMware     9/19/2013 6:0...
    scsi-aic79xx             3.1-5vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    sata-ata-piix            2.12-10vmw.550.2.33.2068190    VMware     8/23/2014 1:5...
    scsi-bnx2i               2.72.11.v55.4-1vmw.550.0.0.... VMware     9/19/2013 6:0...
    ohci-usb-ohci            1.0-3vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    scsi-qla4xxx             5.01.03.2-6vmw.550.0.0.1331820 VMware     9/19/2013 6:0...
    scsi-qla2xxx             902.k1.1-9vmw.550.0.0.1331820  VMware     9/19/2013 6:0...
    net-mlx4-core            1.9.7.0-1vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    ata-pata-atiixp          0.4.6-4vmw.550.0.0.1331820     VMware     9/19/2013 6:0...
    misc-drivers             5.5.0-2.62.2702864             VMware     4/29/2015 6:4...
    esx-dvfilter-generic-... 5.5.0-0.0.1331820              VMware     9/19/2013 6:0...
    ata-pata-pdc2027x        1.0-3vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    qlnativefc               1.0.12.0-1vmw.550.0.0.1331820  VMware     9/19/2013 6:0...
    lsi-mr3                  0.255.03.01-2vmw.550.1.16.1... VMware     4/15/2014 9:0...
    vshield                  5.5.3-2172759                  VMware     9/30/2014 2:3...
    net-vmxnet3              1.1.3.0-3vmw.550.2.39.2143827  VMware     9/18/2014 11:...
    scsi-hpsa                5.5.0-44vmw.550.0.0.1331820    VMware     9/19/2013 6:0...
    tools-light              5.5.0-2.62.2702864             VMware     4/29/2015 6:4...
    scsi-mpt2sas             14.00.00.00-3vmw.550.1.15.1... VMware     2/22/2014 1:1...
    scsi-bnx2fc              1.72.53.v55.1-1vmw.550.0.0.... VMware     9/19/2013 6:0...
    lsi-msgpt3               00.255.03.03-1vmw.550.1.15.... VMware     2/22/2014 1:1...
    net-e1000                8.0.3.1-3vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    xhci-xhci                1.0-2vmw.550.2.39.2143827      VMware     9/18/2014 11:...
    ipmi-ipmi-si-drv         39.1-4vmw.550.0.0.1331820      VMware     9/19/2013 6:0...
    sata-ahci                3.0-21vmw.550.2.54.2403361     VMware     1/1/2015 8:00...
    net-bnx2x                1.72.56.v55.2-1vmw.550.0.0.... VMware     9/19/2013 6:0...
    scsi-megaraid2           2.00.4-9vmw.550.0.0.1331820    VMware     9/19/2013 6:0...
    ehci-ehci-hcd            1.0-3vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    esx-tboot                5.5.0-2.33.2068190             VMware     8/23/2014 1:5...
    uhci-usb-uhci            1.0-3vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    sata-sata-sil            2.3-4vmw.550.0.0.1331820       VMware     9/19/2013 6:0...
    vcloud-agent             5.5.0-1280396                  VMware     8/17/2013 4:0...
    net-mlx4-en              1.9.7.0-1vmw.550.0.0.1331820   VMware     9/19/2013 6:0...
    And here is the output of testing the deploy rule compliance:
    PowerCLI D:\ImageBuild> Get-Cluster 0000000-ESXVCLOUDCL1.ALN | Get-VMHost |Test-
    DeployRuleSetCompliance
    VMHost               ItemList
    esx142269.vm.seo.... {}
    esx140622.vm.seo.... {}
    esx139784.vm.seo.... {}
    esx140617.vm.seo.... {}
    esx138793.vm.seo.... {}
    esx135523.vm.seo.... {}
    esx138945.vm.seo.... {}
    esx138794.vm.seo.... {}
    esx139783.vm.seo.... {}
    esx140309.vm.seo.... {}
    esx140310.vm.seo.... {}
    esx140311.vm.seo.... {}
    esx140313.vm.seo.... {}
    esx140339.vm.seo.... {}
    esx140614.vm.seo.... {}
    esx140615.vm.seo.... {}
    esx140616.vm.seo.... {}
    esx140618.vm.seo.... {}
    esx140619.vm.seo.... {}
    esx140621.vm.seo.... {}
    esx141947.vm.seo.... {}
    esx141945.vm.seo.... {}
    esx142271.vm.seo.... {}
    esx142270.vm.seo.... {}
    Here is another vib list from a host:
    ~ # esxcli software vib list
    Name                           Version                                Vendor  Acceptance Level  Install Date
    net-enic                       2.1.2.42-1OEM.500.0.0.472560           Cisco   VMwareCertified   -
    ata-pata-amd                   0.3.10-3vmw.550.0.0.1331820            VMware  VMwareCertified   -
    ata-pata-atiixp                0.4.6-4vmw.550.0.0.1331820             VMware  VMwareCertified   -
    ata-pata-cmd64x                0.2.5-3vmw.550.0.0.1331820             VMware  VMwareCertified   -
    ata-pata-hpt3x2n               0.3.4-3vmw.550.0.0.1331820             VMware  VMwareCertified   -
    ata-pata-pdc2027x              1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   -
    ata-pata-serverworks           0.4.3-3vmw.550.0.0.1331820             VMware  VMwareCertified   -
    ata-pata-sil680                0.4.8-3vmw.550.0.0.1331820             VMware  VMwareCertified   -
    ata-pata-via                   0.3.3-2vmw.550.0.0.1331820             VMware  VMwareCertified   -
    block-cciss                    3.6.14-10vmw.550.0.0.1331820           VMware  VMwareCertified   -
    ehci-ehci-hcd                  1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   -
    elxnet                         10.0.100.0v-1vmw.550.0.0.1331820       VMware  VMwareCertified   -
    epsec-mux                      5.1.0-01814505                         VMware  VMwareCertified   -
    esx-base                       5.5.0-2.62.2702864                     VMware  VMwareCertified   -
    esx-dvfilter-generic-fastpath  5.5.0-0.0.1331820                      VMware  VMwareCertified   -
    esx-tboot                      5.5.0-2.33.2068190                     VMware  VMwareCertified   -
    esx-xlibs                      5.5.0-0.0.1331820                      VMware  VMwareCertified   -
    esx-xserver                    5.5.0-0.0.1331820                      VMware  VMwareCertified   -
    ima-qla4xxx                    2.01.31-1vmw.550.0.0.1331820           VMware  VMwareCertified   -
    ipmi-ipmi-devintf              39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   -
    ipmi-ipmi-msghandler           39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   -
    ipmi-ipmi-si-drv               39.1-4vmw.550.0.0.1331820              VMware  VMwareCertified   -
    lpfc                           10.0.100.1-1vmw.550.0.0.1331820        VMware  VMwareCertified   -
    lsi-mr3                        0.255.03.01-2vmw.550.1.16.1746018      VMware  VMwareCertified   -
    lsi-msgpt3                     00.255.03.03-1vmw.550.1.15.1623387     VMware  VMwareCertified   -
    misc-cnic-register             1.72.1.v50.1i-1vmw.550.0.0.1331820     VMware  VMwareCertified   -
    misc-drivers                   5.5.0-2.62.2702864                     VMware  VMwareCertified   -
    mtip32xx-native                3.3.4-1vmw.550.1.15.1623387            VMware  VMwareCertified   -
    net-be2net                     4.6.100.0v-1vmw.550.0.0.1331820        VMware  VMwareCertified   -
    net-bnx2                       2.2.3d.v55.2-1vmw.550.0.0.1331820      VMware  VMwareCertified   -
    net-bnx2x                      1.72.56.v55.2-1vmw.550.0.0.1331820     VMware  VMwareCertified   -
    net-cnic                       1.72.52.v55.1-1vmw.550.0.0.1331820     VMware  VMwareCertified   -
    net-e1000                      8.0.3.1-3vmw.550.0.0.1331820           VMware  VMwareCertified   -
    net-e1000e                     1.1.2-4vmw.550.1.15.1623387            VMware  VMwareCertified   -
    net-forcedeth                  0.61-2vmw.550.0.0.1331820              VMware  VMwareCertified   -
    net-igb                        5.0.5.1.1-1vmw.550.2.54.2403361        VMware  VMwareCertified   -
    net-ixgbe                      3.7.13.7.14iov-12vmw.550.2.62.2702864  VMware  VMwareCertified   -
    net-mlx4-core                  1.9.7.0-1vmw.550.0.0.1331820           VMware  VMwareCertified   -
    net-mlx4-en                    1.9.7.0-1vmw.550.0.0.1331820           VMware  VMwareCertified   -
    net-nx-nic                     5.0.621-1vmw.550.0.0.1331820           VMware  VMwareCertified   -
    net-tg3                        3.123c.v55.5-1vmw.550.2.33.2068190     VMware  VMwareCertified   -
    net-vmxnet3                    1.1.3.0-3vmw.550.2.39.2143827          VMware  VMwareCertified   -
    ohci-usb-ohci                  1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   -
    qlnativefc                     1.0.12.0-1vmw.550.0.0.1331820          VMware  VMwareCertified   -
    rste                           2.0.2.0088-4vmw.550.1.15.1623387       VMware  VMwareCertified   -
    sata-ahci                      3.0-21vmw.550.2.54.2403361             VMware  VMwareCertified   -
    sata-ata-piix                  2.12-10vmw.550.2.33.2068190            VMware  VMwareCertified   -
    sata-sata-nv                   3.5-4vmw.550.0.0.1331820               VMware  VMwareCertified   -
    sata-sata-promise              2.12-3vmw.550.0.0.1331820              VMware  VMwareCertified   -
    sata-sata-sil24                1.1-1vmw.550.0.0.1331820               VMware  VMwareCertified   -
    sata-sata-sil                  2.3-4vmw.550.0.0.1331820               VMware  VMwareCertified   -
    sata-sata-svw                  2.3-3vmw.550.0.0.1331820               VMware  VMwareCertified   -
    scsi-aacraid                   1.1.5.1-9vmw.550.0.0.1331820           VMware  VMwareCertified   -
    scsi-adp94xx                   1.0.8.12-6vmw.550.0.0.1331820          VMware  VMwareCertified   -
    scsi-aic79xx                   3.1-5vmw.550.0.0.1331820               VMware  VMwareCertified   -
    scsi-bnx2fc                    1.72.53.v55.1-1vmw.550.0.0.1331820     VMware  VMwareCertified   -
    scsi-bnx2i                     2.72.11.v55.4-1vmw.550.0.0.1331820     VMware  VMwareCertified   -
    scsi-hpsa                      5.5.0-44vmw.550.0.0.1331820            VMware  VMwareCertified   -
    scsi-ips                       7.12.05-4vmw.550.0.0.1331820           VMware  VMwareCertified   -
    scsi-lpfc820                   8.2.3.1-129vmw.550.0.0.1331820         VMware  VMwareCertified   -
    scsi-megaraid-mbox             2.20.5.1-6vmw.550.0.0.1331820          VMware  VMwareCertified   -
    scsi-megaraid-sas              5.34-9vmw.550.2.33.2068190             VMware  VMwareCertified   -
    scsi-megaraid2                 2.00.4-9vmw.550.0.0.1331820            VMware  VMwareCertified   -
    scsi-mpt2sas                   14.00.00.00-3vmw.550.1.15.1623387      VMware  VMwareCertified   -
    scsi-mptsas                    4.23.01.00-9vmw.550.0.0.1331820        VMware  VMwareCertified   -
    scsi-mptspi                    4.23.01.00-9vmw.550.0.0.1331820        VMware  VMwareCertified   -
    scsi-qla2xxx                   902.k1.1-9vmw.550.0.0.1331820          VMware  VMwareCertified   -
    scsi-qla4xxx                   5.01.03.2-6vmw.550.0.0.1331820         VMware  VMwareCertified   -
    uhci-usb-uhci                  1.0-3vmw.550.0.0.1331820               VMware  VMwareCertified   -
    vcloud-agent                   5.5.0-1280396                          VMware  VMwareCertified   -
    vmware-fdm                     5.5.0-2001466                          VMware  VMwareCertified   -
    vshield                        5.5.3-2172759                          VMware  VMwareCertified   -
    xhci-xhci                      1.0-2vmw.550.2.39.2143827              VMware  VMwareCertified   -
    tools-light                    5.5.0-2.62.2702864                     VMware  VMwareCertified   -
    scsi-fnic                      1.6.0.5-1OEM.500.0.0.472560            cisco   VMwareCertified   -
    Any help is appreciated. Thanks.

    Right now, on my test host (that is not working), I have two VMs, one named "Test 1" and the other "Test 2" They only have an isolated network on them (named "Test Isolated Network") that is in my VDC, and pings do not work between them. If I move them to any other host (that have been unprepared and prepared), pings work. I can move both to the same host, or different hosts.
    Here is the fence info on this host, I'm not really sure how to interpret this:
    ~ # esxcli vcloud fence getfenceinfo
       Module Parameters:
            Host Key: 0x104b0
            Configured LAN MTUs:
            +------------------------------------------------------------------------------------------+
            | LAN ID |    1    2    3    4    5    6    7    8    9   10    -    -    -    -    -    - |
            |    MTU | 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500    -    -    -    -    -    - |
            +------------------------------------------------------------------------------------------+
       Active Ports:
            +-----------------------------------------+
            |     ID       |    OPI    | LanID |  MTU |
            +-----------------------------------------+
            | 410b1d4ce7d0 | 01,0001a2 |     4 | 1500 |
            | 410b1d4cfde0 | 01,0001a2 |     4 | 1500 |
            +-----------------------------------------+
       Switch State:
            +-----------------------------------------------------+
            |   Inner MAC    |   Outer MAC   | used | age | seen  |
            +-----------------------------------------------------+
            + ............................... Port:0x410b1d4ce7d0 +
            +-----------------------------------------------------+
            + ............................... Port:0x410b1d4cfde0 +
            | 00:50:56:01:06:16 | 00:13:F5:01:04:B4 | 1  | 1  | 1 |
            +-----------------------------------------------------+
       Port Statistics Summary:
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            |       Identity           |               To VM dropped                         | To VM passed    |     From VM dropped                        |                 From VM passed                      |  Reflect        |
            |   Port ID    | Fence ID  | total  | misunf | misfen | stored | frag   | other  | fenced | join   | unfen  | csum   | frag   | GVT    | other  | fenced | tso    | frag   | csum   | GVT    | ufport | pass   |  error |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | 410b1d4ce7d0 | 01,0001a2 |   3991 |      2 |   3976 |      0 |      0 |      0 |     13 |      0 |      0 |      0 |      0 |      0 |      0 |    679 |      0 |      0 |      0 |      0 |      0 |      0 |      0 |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | 410b1d4cfde0 | 01,0001a2 |   4478 |      2 |   3860 |      0 |      0 |      0 |    616 |      0 |      0 |      0 |      0 |      0 |      0 |    626 |      0 |      0 |      0 |      0 |      0 |      0 |      0 |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    And here is the output of the command a little while later on the same host (while my test pings are going)
    ~ # esxcli vcloud fence getfenceinfo
       Module Parameters:
            Host Key: 0x104b0
            Configured LAN MTUs:
            +------------------------------------------------------------------------------------------+
            | LAN ID |    1    2    3    4    5    6    7    8    9   10    -    -    -    -    -    - |
            |    MTU | 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500    -    -    -    -    -    - |
            +------------------------------------------------------------------------------------------+
       Active Ports:
            +-----------------------------------------+
            |     ID       |    OPI    | LanID |  MTU |
            +-----------------------------------------+
            | 410b1d4ce7d0 | 01,0001a2 |     4 | 1500 |
            | 410b1d4cfde0 | 01,0001a2 |     4 | 1500 |
            +-----------------------------------------+
       Switch State:
            +-----------------------------------------------------+
            |   Inner MAC    |   Outer MAC   | used | age | seen  |
            +-----------------------------------------------------+
            + ............................... Port:0x410b1d4ce7d0 +
            +-----------------------------------------------------+
            + ............................... Port:0x410b1d4cfde0 +
            | 00:50:56:01:06:16 | 00:13:F5:01:04:B4 | 1  | 1  | 1 |
            +-----------------------------------------------------+
       Port Statistics Summary:
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            |       Identity           |               To VM dropped                         | To VM passed    |     From VM dropped                        |                 From VM passed                      |  Reflect        |
            |   Port ID    | Fence ID  | total  | misunf | misfen | stored | frag   | other  | fenced | join   | unfen  | csum   | frag   | GVT    | other  | fenced | tso    | frag   | csum   | GVT    | ufport | pass   |  error |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | 410b1d4ce7d0 | 01,0001a2 |   4696 |      2 |   4681 |      0 |      0 |      0 |     13 |      0 |      0 |      0 |      0 |      0 |      0 |    796 |      0 |      0 |      0 |      0 |      0 |      0 |      0 |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | 410b1d4cfde0 | 01,0001a2 |   5300 |      2 |   4565 |      0 |      0 |      0 |    733 |      0 |      0 |      0 |      0 |      0 |      0 |    743 |      0 |      0 |      0 |      0 |      0 |      0 |      0 |
            +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    Looking at the VDS, the Maximum MTU is set to 1500. Looking at dvs.VCDVSTest Isolated Network-ca9a45c9-1dec-4f95-8b96-68d9c05b2a5d, I see it's VLAN is set to 2535 (which matches the network pool settings) and number of ports is 16

  • Session Bean Transaction Rollback not working for RuntimeException

    Hi,
    I am calling a number of JDBC create/update statements within a method in a container managed transaction stateless session bean with transaction attribute set to required. I am running the bean within the embedded OC4J supplied with JDeveloper 10g (10.1.2). For each JDBC call, i connect to a datasource via JNDI containg a pool of connections pointing to an Oracle 10g database (standard J2EE)
    If i throw a runtime exception within the method the transaction is NOT rolled back as it should be according to the EJB spec. However, if i setRollbackOnly() on the session bean SessionContext the transaction does roll back.
    Has anybody experienced this before?
    Is this an OC4J bug?
    Thanks
    Dave

    Generally, for urgent issues it's best to open a SR with Oracle Support rather than posting to the forums.
    enlist=dynamic didnt exist in 10.2.0.2.20, but does now. I can't recall what specific version it was introduced though.
    enlist=false prevents enlistment in MSDTC transactions, so thats why it's not rolling back in that case.
    "transaction branch length 90 is illegal" was a known issue on Vista, is that the OS you're using? It takes a two part fix, and It is resolved by
    1) getting up to 10204 ODP (apply the 10204 rdbms patch to your client install)
    2) applying SP1 for Vista
    Hope it helps,
    Greg

  • Transaction launcher not working for custom business role

    Hi Experts,
    I am facing a very weird problem where the transaction laucher define for BOR transaction is working for one business role(Z business role Customized one) but its not working for other business role (Z business role).
    to emphasize further we have the code:-
    case ls_attributes-object_type.
        when lc_z23 or lc_z25.
          lv_logical_link = lc_ZITISU.
        when lc_BUS2000115.
          lv_logical_link = lc_ZITERP1.
        when others.
          lv_logical_link = lc_ZITERP2.
      endcase.
      l_if_navigation = cl_crm_ui_navigation_service=>get_instance( me ).
      IF l_if_navigation IS BOUND .
    Navigate to transaction launcher using link id
        l_if_navigation->navigate( iv_link_id = lv_logical_link ).
      ENDIF.
    in this the logical link is is lc_ZITISU whenever this BSP application is called from both the business roles but in  one the window opens up for BOR transaction whereas when we login again using different business role the code is the same as given above. I mean the sam logical link id is used and navigated to but window is not opening for transaction launcher as it happens for the previous business role.
    Request your help to resolve this issue.
    Thanks,
    Rajwin

    Hi,
    I tried by applying the PFCG role id of business role which was working to the business role id of the one for which it wasn't working and then try testing whether the transaction launcher is triggering. But the transaction launcher screen is still not opening even after doing this.
    Probably there's something else too which is causing the problem. Request your inputs on this,
    Thanks,
    Rajwin

  • ABAP Query Execution via Custom Transaction Code - Not working

    We have created an ABAP Query in our DEV client and we then created a transaction code to run that query. We have done this because the customer does not want anyone to have access to SQ01, SQ02 in production. This works great in DEV but we can not get it to work in production.
    The ABAP Query was exported to our Prod client successfully.  I say exported because you do not do direct transports with queries.
    We then transported the new transaction code to run the query to production and it was successful.
    However, when we run the transaction is production we get a sys dump stating it can not find the query.
    We believe the problem is the TRDIR table is missing an entry for the program in production (it has an entry in DEV).
    I would have thought that the export on the query would have brought in this entry -but obviously not.
    Any suggestions on how we can get this entry into the production client?  Did we miss a step on the export that would do this?  We want to only bring over this entry - not the entire TRDIR table for obvious reasons (size (1.5 million entries, programs not ready for production, etc.).
    Please help!
    Thanks.
    Scott

    Hi,
    The above solution will work if you assign the transaction in one server, If you want this will not work in quality/production boxes when transported the query..the program name will not be the same in all the servers...
    For this. Do the below:
    In SE93, Create a Paramter Transaction
    -> Transaction = Start_report
    -> In default values, give the below details:
         D_SREPOVARI-REPORTTYPE = AQ
         D_SREPOVARI-EXTDREPORT = Name of the Query
         D_SREPOVARI-REPORT = User Group
    Save the transaction..Now if the program is generated with different names in the quality/proudction, this will still work..
    Regards
    Vijay Hebbal

  • Explicit Transaction Management not working

    Hi,
    I have written a StatelessSession Bean. There is a method in this bean which
    calls methods of Other BMP Beans.All these methods have to be part of one Transaction.Below
    I have shown in Pseudocode ,how I am handling it.
    //This is the SessionBean Method
    public void processDocument()
    UserTransaction Utrx = SessionContext.getUserTransaction();
    try
    Utrx.begin();
    Bean1.method1();//this method inserts a row in the database
    Bean2.method2();// this method inserts a row in another table
    Bean3.method3();//deletes a row
    // couple of other method calls
    Utrx.commit();
    catch()
    //catch Exceptions and rollback.

    OK, now I'm catching up. Do you see that exception thrown in your calling
    code, i.e. does your code as posted catch that exception?
    If so, you most probably are not using the proper connection pool -- you
    should be using the JTS pool not just a WL pool -- and so the connection is
    not participating in the transaction.
    Peace,
    Cameron Purdy
    Tangosol Inc.
    Tangosol Coherence: Clustered Coherent Cache for J2EE
    Information at http://www.tangosol.com/
    "Sunil Naik" <[email protected]> wrote in message
    news:3c26a505$[email protected]..
    >
    "Cameron Purdy" <[email protected]> wrote:
    Why do you say it is not working? Do you get a compile error? An
    exception?
    A partial commit? Deadlock? Horse head in your bed? Out of memory?
    Peace,
    Hi Cameron,
    Actually , while testing the method ,I am deliberately making the3 rd
    method call throw an Exception and exit.In that case what I expect is thatthe
    work done in the first two method calls should be rolled back. i.e.Therows should
    not be inserted in the database.This is not happening.The inserts made inthe
    earlier two methods are being commited.
    Hope it is clear now.
    Thanx,
    sunil
    Cameron Purdy
    Tangosol Inc.
    Tangosol Coherence: Clustered Coherent Cache for J2EE
    Information at http://www.tangosol.com/
    "Sunil Naik" <[email protected]> wrote in message
    news:3c230f17$[email protected]..
    Hi,
    I have written a StatelessSession Bean. There is a method in thisbean
    which
    calls methods of Other BMP Beans.All these methods have to be partof one
    Transaction.Below
    I have shown in Pseudocode ,how I am handling it.
    //This is the SessionBean Method
    public void processDocument()
    UserTransaction Utrx = SessionContext.getUserTransaction();
    try
    Utrx.begin();
    Bean1.method1();//this method inserts a row in the database
    Bean2.method2();// this method inserts a row in another table
    Bean3.method3();//deletes a row
    // couple of other method calls
    Utrx.commit();
    catch()
    //catch Exceptions and rollback.

  • Copied Transaction ZCS02 not working...

    Hi,
    I want to create a copy of transaction CS02. But this is a function Group (CSDI).. After all, i copy the Function Group with all Function Modules. Also create a t.code ZCS02 through SE93 (copy program SAPMC29S also).
    But, when i m executing the ZCS02 transaction, it's not working..means not responding.
    Please tell me what would be the problem..
    Regards,

    Thanks for ur reply,
    We have some issues with the users, so don;t want to give the CS02 transaction to them...so i want to create a new Z transaction for user.
    But after copy the function group from SE80, it is not working properly...
    Please suggest..
    regards......
    Edited by: Prince Kumar on Jun 4, 2009 3:20 PM

  • EJB - JPA Controller Not Work in EJB

    In the beginning, I created a EAR application by following the tutorial at http://wiki.netbeans.org/DevelopJavaEE6App/
    After the application was completed successfully, as I wanted the Session Bean focusing business logic more, I utilized NetBeans wizard to create JPA Controller from Entities and moved all data manipulation methods from the Session Bean to the JPA Controller. As a result, it did not work.
    CustomerJpaController:
    package com.customerapp.jpa;
    import com.customerapp.entity.Customer;
    import com.customerapp.jpa.exceptions.NonexistentEntityException;
    import com.customerapp.jpa.exceptions.PreexistingEntityException;
    import java.util.List;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.persistence.Query;
    import javax.persistence.EntityNotFoundException;
    import javax.persistence.criteria.CriteriaQuery;
    import javax.persistence.criteria.Root;
    import com.customerapp.entity.DiscountCode;
    public class CustomerJpaController {
        public CustomerJpaController() {
            emf = Persistence.createEntityManagerFactory("CustomerApp-ejbPU");
        private EntityManagerFactory emf = null;
        public EntityManager getEntityManager() {
            return emf.createEntityManager();
        public void create(Customer customer) throws PreexistingEntityException, Exception {
            EntityManager em = null;
            try {
                em = getEntityManager();
                em.getTransaction().begin();
                DiscountCode discountCode = customer.getDiscountCode();
                if (discountCode != null) {
                    discountCode = em.getReference(discountCode.getClass(), discountCode.getDiscountCode());
                    customer.setDiscountCode(discountCode);
                em.persist(customer);
                if (discountCode != null) {
                    discountCode.getCustomerList().add(customer);
                    discountCode = em.merge(discountCode);
                em.getTransaction().commit();
            } catch (Exception ex) {
                if (findCustomer(customer.getCustomerId()) != null) {
                    throw new PreexistingEntityException("Customer " + customer + " already exists.", ex);
                throw ex;
            } finally {
                if (em != null) {
                    em.close();
        public void edit(Customer customer) throws NonexistentEntityException, Exception {
            EntityManager em = null;
            try {
                em = getEntityManager();
                em.getTransaction().begin();
                Customer persistentCustomer = em.find(Customer.class, customer.getCustomerId());
                DiscountCode discountCodeOld = persistentCustomer.getDiscountCode();
                DiscountCode discountCodeNew = customer.getDiscountCode();
                if (discountCodeNew != null) {
                    discountCodeNew = em.getReference(discountCodeNew.getClass(), discountCodeNew.getDiscountCode());
                    customer.setDiscountCode(discountCodeNew);
                customer = em.merge(customer);
                if (discountCodeOld != null && !discountCodeOld.equals(discountCodeNew)) {
                    discountCodeOld.getCustomerList().remove(customer);
                    discountCodeOld = em.merge(discountCodeOld);
                if (discountCodeNew != null && !discountCodeNew.equals(discountCodeOld)) {
                    discountCodeNew.getCustomerList().add(customer);
                    discountCodeNew = em.merge(discountCodeNew);
                em.getTransaction().commit();
            } catch (Exception ex) {
                String msg = ex.getLocalizedMessage();
                if (msg == null || msg.length() == 0) {
                    Integer id = customer.getCustomerId();
                    if (findCustomer(id) == null) {
                        throw new NonexistentEntityException("The customer with id " + id + " no longer exists.");
                throw ex;
            } finally {
                if (em != null) {
                    em.close();
        public void destroy(Integer id) throws NonexistentEntityException {
            EntityManager em = null;
            try {
                em = getEntityManager();
                em.getTransaction().begin();
                Customer customer;
                try {
                    customer = em.getReference(Customer.class, id);
                    customer.getCustomerId();
                } catch (EntityNotFoundException enfe) {
                    throw new NonexistentEntityException("The customer with id " + id + " no longer exists.", enfe);
                DiscountCode discountCode = customer.getDiscountCode();
                if (discountCode != null) {
                    discountCode.getCustomerList().remove(customer);
                    discountCode = em.merge(discountCode);
                em.remove(customer);
                em.getTransaction().commit();
            } finally {
                if (em != null) {
                    em.close();
        public List<Customer> findCustomerEntities() {
            return findCustomerEntities(true, -1, -1);
        public List<Customer> findCustomerEntities(int maxResults, int firstResult) {
            return findCustomerEntities(false, maxResults, firstResult);
        private List<Customer> findCustomerEntities(boolean all, int maxResults, int firstResult) {
            EntityManager em = getEntityManager();
            try {
                CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
                cq.select(cq.from(Customer.class));
                Query q = em.createQuery(cq);
                if (!all) {
                    q.setMaxResults(maxResults);
                    q.setFirstResult(firstResult);
                return q.getResultList();
            } finally {
                em.close();
        public Customer findCustomer(Integer id) {
            EntityManager em = getEntityManager();
            try {
                return em.find(Customer.class, id);
            } finally {
                em.close();
        public int getCustomerCount() {
            EntityManager em = getEntityManager();
            try {
                CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
                Root<Customer> rt = cq.from(Customer.class);
                cq.select(em.getCriteriaBuilder().count(rt));
                Query q = em.createQuery(cq);
                return ((Long) q.getSingleResult()).intValue();
            } finally {
                em.close();
    }How can I integrate my EJB with my JPA controller? Please help

    CustomerSessionBean:
    package com.customerapp.ejb;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.annotation.Resource;
    import javax.ejb.Stateless;
    import javax.ejb.LocalBean;
    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageProducer;
    import javax.jms.Queue;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import java.util.List;
    import com.customerapp.entity.Customer;
    import com.customerapp.entity.DiscountCode;
    import com.customerapp.jpa.CustomerJpaController;
    import com.customerapp.jpa.DiscountCodeJpaController;
    @Stateless
    @LocalBean
    public class CustomerSessionBean {
        @Resource(name = "jms/NotificationQueue")
        private Queue notificationQueue;
        @Resource(name = "jms/NotificationQueueFactory")
        private ConnectionFactory notificationQueueFactory;
        CustomerJpaController customerJpa;
        DiscountCodeJpaController discountCodeJpa;
        @PostConstruct
        public void initJpa(){
            customerJpa = new CustomerJpaController();
            discountCodeJpa = new DiscountCodeJpaController();
        @PreDestroy
        public void removeJpa() {
            customerJpa = null;
            discountCodeJpa = null;
        public void create(Customer customer) {
            try {
                customerJpa.create(customer);
            } catch (Exception ex) {
                Logger.getLogger(CustomerSessionBean.class.getName()).log(Level.SEVERE, null, ex);
        public List<Customer> retrieve() {       
            return customerJpa.findCustomerEntities();
        public Customer update(Customer customer) {
            Customer updatedCustomer;
            try {
                Integer customerId = customer.getCustomerId();
                customerJpa.edit(customer);
                updatedCustomer = customerJpa.findCustomer(customerId);
                sendJMSMessageToNotificationQueue(updatedCustomer);
                System.out.println("Customer updated in CustomerSessionBean!");
                return updatedCustomer;
            } catch (JMSException ex) {
                Logger.getLogger(CustomerSessionBean.class.getName()).log(Level.SEVERE, null, ex);
            } catch (Exception ex) {
                Logger.getLogger(CustomerSessionBean.class.getName()).log(Level.SEVERE, null, ex);
            return customer;
        public List<DiscountCode> getDiscountCodes() {
            return discountCodeJpa.findDiscountCodeEntities();
        private Message createJMSMessageForjmsNotificationQueue(Session session, Object messageData) throws JMSException {
            TextMessage tm = session.createTextMessage();
            tm.setText(messageData.toString());
            return tm;
        private void sendJMSMessageToNotificationQueue(Object messageData) throws JMSException {
            Connection connection = null;
            Session session = null;
            try {
                connection = notificationQueueFactory.createConnection();
                session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                MessageProducer messageProducer = session.createProducer(notificationQueue);
                messageProducer.send(createJMSMessageForjmsNotificationQueue(session, messageData));
            } finally {
                if (session != null) {
                    try {
                        session.close();
                    } catch (JMSException e) {
                        Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "Cannot close session", e);
                if (connection != null) {
                    connection.close();
    }ERROR:
    Caused by: java.lang.IllegalArgumentException: The type [null] is not the expected [EntityType] for the key class [class com.customerapp.entity.Customer].
            at org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:152)
            at org.eclipse.persistence.internal.jpa.querydef.AbstractQueryImpl.from(AbstractQueryImpl.java:97)
            at com.customerapp.jpa.CustomerJpaController.findCustomerEntities(CustomerJpaController.java:140)
            at com.customerapp.jpa.CustomerJpaController.findCustomerEntities(CustomerJpaController.java:129)
            at com.customerapp.ejb.CustomerSessionBean.retrieve(CustomerSessionBean.java:64)

  • Transaction variant not working

    Hey,
    I am facing with this peculiar problem of transaction variant. I created a transaction variant as desired by my client for VA01 and activated the same. I checked the status in the transaction VA01 and there it showed that the transaction variant has been successfully applied. But when I check for the fields that I wanted to be made non editable or invisible the same was not reflected in the transaction. Now after trying enough like creating new transaction variants, adding new screen variants to the existing transaction variant, somehow it has started working. But now when I change the transaction variant, even after activating it, the changes in the variant are not reflected in the transaction. Old changes are being reflected. Please advise!
    The reconstruction steps are as follows:
    SHD0 -
    Creation of transaction variant - with processing.
    Activating it.
    Appreciate a quick response. Thanks in advance.
    Note: It might be that I am going wrong somewhere, I would really appreciate if someone could send me a file containing screenshots on how to create and use transaction variants. My email ID is
    [email protected]
    Regards,
    Z

    hi,
    just check out the following pre-requisites if you have followed them or not:
    You can assign various transaction variants to individual sales document types.
    With the help of transaction variants, you create various variants for the same transaction in order to simplify your transaction flows. You can achieve this by:
    Preassigning fields with values
    Fading out and changing input availability for fields
    Fading out entire screens
    In this way, you can provide your users with screens which are defined according to their specific needs per sales document type.
    When a transaction variant is created, several screen variants are created for each individual screen for the transaction chosen for the variant. The system accesses this screen variant when a transaction variant is applied.
    PrerequisitesIn the standard system, transaction variants for Sales (for example, quotation, sales order, credit memo request, group master contract) are defined for all business objects. Assignment of transaction variants for the sales document type is carried out in Customizing for sales document types.
    Activities
    You will find the transaction for creating a transaction variant in Customizing, under General Settings - Field Display Characteristics - Configure application transaction fields. You can find further information on this in the implementation guide.
    Assignment of transaction variants to sales document types can be found in Customizing for Sales, under Sales - Sales Documents - Sales Document Header - Define Sales Document Types in the Variants field.
    In order that a transaction can be called up depending on a sales document type, the system of course needs the information as to which sales document type should be worked with. This choice is however made by the user on the initial screen first.
    This means that the initial screen can not be modified or faded out within a transaction variant. If you wish to miss out or modify the initial screen with the choice of sales document types, you need to create a variant transaction, this means a variant is created for a complete transaction. This transaction will then have ist own name, which has been defined by you.
    regards,
    Siddharth.

Maybe you are looking for

  • Hyperlink from an HTML page directly to an artikle in a pdf document ?

    Hi, we would like to set a direct link from a HTML page to a special article in a pdf document. For the moment we could open the pdf document only at its first page. Thank you for your help :-)

  • Slideshow images not displaying properly

    I posted this to the slideshow software company also (Visual Slideshow), but thought I might get an answer or idea here.  The slideshow is correct after publishing.  An html page open and it displays correctly.  However, after uploading the images ar

  • Issues with Images when used w/ Caption Widget & Book File Size Q

    Hi Everyone, I was having issues with images not showing up and determined it was the caption widget causing the issue. I now have one of two issues happening consistently. Either the image does not show at all or just the caption box with bkgd gray

  • 10.7.5 & Pro Tools 10.3.2 not working together

    I have updated to 10.7.5 and now Pro Tools 10.3.2 is not working properly. I was told to reset to factory settings and update back to 10.7.4..any suggestions about this?

  • New website broken in IE

    Can somebody look at this site in IE and almost any other browser, and recommend some First Aid for the content pages? www.gmavt.net/~powerdog Pages should look OK in other browsers, but in IE all the hidden elements are visible and moved to the wron