Getting a reference to the current Transaction

In a session bean, I need to call enlistResource(XAResource), an instance method in interface javax.transaction.Transaction, in order to enlist my XAResource object with the current transaction (whether it's a bean-managed or container-managed transaction).
In order to accomplish this, my code therefore needs to be able to obtain a reference to the current transaction, or to the transaction manager (since I could then call TransactionManager's getTransaction() method to obtain the transaction).
Is there a way to do this in IPlanet? (I have found techniques that work for JBoss and BEA, but not IBM.)
[Please note that a reference to a UserTransaction object is of no use, as it provides no enlistResource() method, nor any way to obtain the corresponding Transaction object or the TransactionManager.]

Try
InputStream is =
ThisClass.class.getClassLoader().getResourceAsStream(resourceName);
Note this will get a different classloader which uses
the whole class-path.Just as an FYI, class.getResourceAsStream() delegates to the object's ClassLoader, so you can save some typing by omitting the call to getClassLoader(). :o)

Similar Messages

  • Other ways for getting a reference to the current page [ID5, JS]

    To get a reference to the page you're working on (or that holds an object you want to manipulate), you could use app.activeWindow.activePage.id or app.layoutWindows[0].activePage.id.
    But when you're working on a spread and this spread fills your application window, you seldomly get the correct page reference. You could have a selection on the right page, but when you run a script with the active/layoutWindow approach, you could easily get a (wrong) reference to the left page, if that one is more 'dominant' in your program window.
    I work around this by using activeSpread and getting the Y-coordinate of a frame or insertionPoint on the page I'm working on. When you set the ruler origin to spread, you can determine the left or right page by looking at the Y-coordinate. If it's higher than the page width (or spine position) you're on the right hand page. You could than use if...then to assign 0 or 1 a to a variable. Finally, you can get the ID of that page: app.activeSpread.pages.item(variable).id.
    Perhaps this approach is helpfull for others who struggle with page references.
    My question is: are there other reliable (perhaps more simple) ways to get a reference to the page?

    Right. I should have posted the question sooner, because shortly after I found the answer I've been looking for quite long. And once again it's so simple. Nevertheless it might be usefull to share.
    For most page items like textframes and rectangles you can simpy use the property parentPage. For instance, if you have selected a rectangle you get a reference to the page with code like:
    page = doc.selection[0].parentPage.id.
    This might be usefull if you dragged a rectangle holding an image to another page and want to run a script that re-attaches the caption frame. 

  • How to get the current transaction variant ?

    dear guru,
    could you please tell me how to get the current transaction variant?
    i tried the following method:
      DATA l_tcvariant TYPE tcvariant.
      CALL 'DY_GET_TX_VARIANT'
         ID 'VARIANT' FIELD l_tcvariant.
    but it failed.
    best regards.
    zj

    Try something like this
    DATA:  VARIANT LIKE SHDTVCIU-TCVARIANT.
      CLEAR VARIANT.
      CALL FUNCTION 'RS_HDSYS_GET_TC_VARIANT'
       IMPORTING
         TCVARIANT                     = VARIANT
    *     FLAG_CLIENT_INDEPENDENT       =
    *     RC                            =
    *   TABLES
    *     T_SCREEN_VARIANTS             =
    *     T_INACTIVE_FUNCTIONS          =

  • How do I get a reference to the SecurityServices instance in my web appl?

    I would like to use the audit provider of weblogic to log audit event that I send from my servlet. For writing a auditevent I need a reference to the AuditService instance. How do I obtain that? IS there any static class through with I can get references to the security services?
    Lakshmi

    Pete,
    The Thread class's public static Thread currentThread() method will return a reference to the Thread object that represents the thread of execution that is live when the method is invoked. More simply, it provides a reference to the currently executing thread.
    So you could use this as a key in a hashtable to represent which thread has a lock on some entity:
       // "hash" is a hashtable
       // entity is an Object representing something that is locked (like
       // a record number or a resource identifier)
       hash.put(Thread.currentThread(),entity);I think this answers your question, unless I misunderstood you.
    Damian

  • An Invalid Setup has been detected for the current Transaction Type in AME

    Gurus,
    I am constantly getting an error An Invalid Setup has been detected for the current Transaction Type in Approvals Management
    My client have 3 units say A,B,C. A requirement is such that whenever a vacancy is created, an approval should be sought from units HR manager.
    I have created a dynamic query for this and it is working fine for first two units say A & B. i.e. whenever somebody from unit A or B creates a vacancy it is correctly fetching the
    respective units managers. But, this whole AME is not working for unit C. An error pops out which says *An Invalid Setup has been detected for the current Transaction Type in
    Approvals Management* . Can anybody tell me what can be the issue?
    Edited by: 919527 on Aug 8, 2012 12:40 AM
    Edited by: 919527 on Aug 8, 2012 12:41 AM

    Solved it. The cursor wsa fetching two rows in plcae of one.

  • How to Read the GUID of the current Transaction.

    Hi
    I am writing a new Function Module, which i will use in the Search Help. I need to process the data using this Function Module. For the same, i need to read the data from the current Transaction. I will be using CRM_ORDER_READ for the same. However, i need to READ the "Header_Guid" before.
    Can anyone help. How to read the GUID of the current Transaction?
    Thanks and Regards
    Jaideep

    Hi Jaideep,
    From where you are going to call this FM ? Are you planning to Implement some BADI or from some BSP application ? If from BSP application then code will look something like this.
      DATA: current           TYPE REF TO if_bol_bo_property_access.
      DATA: dref              TYPE REF TO data.
      DATA: lv_guid           TYPE crmt_object_guid.
    FIELD-SYMBOLS: <l_data> TYPE data.
    IF iterator IS BOUND.
        current = iterator->get_current( ).
      ELSE.
        current = collection_wrapper->get_current( ).
      ENDIF.
      TRY.
          dref = current->get_property( 'GUID' ).          
        CATCH cx_sy_ref_is_initial.
          RETURN.
      ENDTRY.
      ASSIGN dref->* TO <l_data>.
      CLEAR: lv_guid.
      lv_guid = <l_data>.
    and you will have the current transaction guid. Since I am not sure at what point of time you are trying to get the guid so I have given you the code at the context node BTADMINH level.
    Hope this will give you some idea.
    Thanks,
    Vikash.

  • How to check whether  entity has been persisted in the current transaction

    Hello,
    I am porting functionality which relay heavily on lifecycle of the entity.
    For example methods like these:
    * returns true if the instance has been modified, deleted or newly made
    * persistent in the current transaction
    public boolean isModified(final EntityObject entity)
    public boolean isDeleted(final EntityObject entity)
    For some of these callsI have found how to port them to toplink und just want to validate that this is the right way:
    protected static UnitOfWork getUnitOfWork(EntityManager entityManager) {
    return ((JpaEntityManager) (entityManager.getDelegate())).getUnitOfWork();
    public static boolean isModified(EntityManager entityManager, Object entity) {
    UnitOfWorkChangeSet set = getUnitOfWork(entityManager).getCurrentChanges();
    ObjectChangeSet oset = set.getObjectChangeSetForClone(entity);
    return !oset.getChanges().isEmpty() || oset.isNew();
    public static boolean isDeleted(EntityManager entityManager, Object entity) {
    UnitOfWorkChangeSet set = getUnitOfWork(entityManager).getCurrentChanges();
    return set.getDeletedObjects().keySet().contains(entity);
    but I did not find how to do following with the eclipselink:
    * returns true, if the given entity object has been persistet during the
    * current transaction
    * @param entity
    * @return true, if the given entity object has been persistet during the
    * current transaction
    public boolean isPersistent(final EntityObject entity)
    Questions:
    - how can I check whether the entity is persistent in the sense already stored in the DB ?
    - how can I check whether the entity has been persisted in the current transaction ?
    Thanks in advance.
    Andre Teshler

    Hi Andre,
    In Eclipse link there are Entity listeners which will define the life cycle events like preInsert(),postInsert() etc.On successful insertion of an object its postInsert() life cycle method gets called.If you have to validate whether object inserted successfully then best place is to override the postInsert() and check for the existence of the record.All the event life cycle methods take a DescriptorEvent as parameter which will give handle to API as given below.In the same method you can check if this insert operation succeeded in the same transaction.
    package model;
    import java.util.Vector;
    import org.eclipse.persistence.descriptors.DescriptorEvent;
    import org.eclipse.persistence.descriptors.DescriptorEventAdapter;
    import org.eclipse.persistence.descriptors.DescriptorEventListener;
    import org.eclipse.persistence.internal.sessions.ObjectChangeSet;
    public class SampleEntityLIstener extends DescriptorEventAdapter {
    public SampleEntityLIstener() {
    super();
    public void postInsert(DescriptorEvent event) {
    event.getRecord().containsKey("pass the object");
    event.getChangeSet().getUOWChangeSet();
    public void preInsert(DescriptorEvent event) {
    Once you implement the DescriptorEventListener,need to register with the Entity so that life cycle methods gets called and respective business logic gets executed.
    Hope this helps,
    Regards,
    P.Vinay Kumar

  • How can I get a reference to the Local interface of a EJB 3 session?

    Hi,
    How can I get a reference to the Local interface of a EJB 3 session?
    My session implements both the local and remote interfaces, so in my client, when I look up the remote interface using the following code, I did get a reference
              processor = (IItemProcessorRemote)initialContext.lookup(IItemProcessorRemote.class.getName());but if I also look up the local interface in th eclient using this:
    processorLocal =(IItemProcessor)initialContext.lookup(IItemProcessor.class.getName());I got errors like the following, do you know why? Thanks a lot!
    Exception in thread "main" javax.naming.NameNotFoundException: sessions.IItemProcessor not found
         at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:203)
         at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:175)
         at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
         at com.sun.enterprise.naming.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:116)
         at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:650)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:193)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1705)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1565)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:947)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:178)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:717)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1270)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:479)

    BTW, findItemByTitle(String title) is a business method in my ItemProcessor session bean.
    public String findItemByTitle(String title) {
              AuctionItem item;
              String result = null;
              try {
                   Query query = entityManager
                             .createNativeQuery("SELECT i from AuctionItem i WHERE i.title LIKE : aTitle");
                   query.setParameter("aTitle", title);
                   item = (AuctionItem) query.getSingleResult();
                   result = item.toString();
              } catch (EntityNotFoundException notFound) {
              } catch (NonUniqueResultException nonUnique) {
              return result;
         }

  • In dialog programming i want to leave the current transaction

    Hi,
    In dialog programming i want to leave the current transaction and come out to the standard   sap initial screen.
    Please advise me how can i apply.
    Thanks.

    Basic question, please search before posting.
    Thread locked.
    Thomas

  • How to get a reference to the owner of a class instance?

    Within a method of a class, how can I get a reference to the
    object containing the class instance?
    To be clear: I have class B that contains a method, say
    "myfunc()". Class A (say, the application itself or a custom
    component) instantiates a new instance of Class B : myclassB=new
    ClassB()
    Now, from within myfunc() can I get a reference to Class A?
    The simplest way here is to pass a "this" reference when
    calling myfunc(), i.e. "myclassB.myfunc(this)" but I would prefer
    not to have to remember to always use 'this'.

    Are these objects within each other. Does classA own classB?
    If that is the case, then Greg is correct and it should be
    available in parentDocument.
    In projects in the past we have created a central
    refObjectLocator object that is available to all objects.
    Mostly we use events to communicate between objects. Dispatch
    an event and let whoever listen for it.
    Here is a copy of our reflocator if you are interested.
    package com.goconfigure.model {
    import mx.collections.ArrayCollection;
    import com.adobe.cairngorm.model.ModelLocator;
    import com.goconfigure.util.HashMap;
    [Bindable]
    public class RefObjectLocator implements ModelLocator {
    // this instance stores a static reference to itself
    private static var refObject : RefObjectLocator;
    public var refObjectHM : HashMap = new HashMap();
    // singleton: constructor only allows one model locator
    public function AppLocator() : void {
    if ( RefObjectLocator.refObject != null )
    throw new Error( "Only one RefObjectLocator instance should
    be instantiated" );
    // singleton: always returns the one existing static
    instance to itself
    public static function getInstance() : RefObjectLocator {
    if ( refObject == null )
    refObject = new RefObjectLocator();
    return refObject;
    public function addRefObject( pRefObject : Object, pName :
    String ) : void {
    refObjectHM.put(pName,pRefObject);
    public function getRefObject( pName : String ) : Object {
    return refObjectHM.getValue(pName);
    public function removeRefObject( pName : String ) : void {
    refObjectHM.remove(pName);
    public function clearRefObject() : void {
    refObjectHM.clear();

  • I deleted gardens of time yesterday and need to get it back with the current data and progress. Is this possible?

    I deleted gardens of time yesterday and need to get it back with the current data and progress. Is this possible?

    Is that on an iPad, iPod Touch or iPhone?

  • Detect the current transaction used in MIRO :EXIT_SAPLMR1M_001

    hi ,
    my requirment is to find  a way to detect the current transaction used within the MIRO transaction ,which can be one among
    invoice/ credit memo/ subsequent debit/subsequent credit .if the user  is using the credit memo ,  then prevent him from posting based on the authority /role given to him. Im making use of the Exit:EXIT_SAPLMR1M_001 for this.
    Please let me know which field of the exit parameters should be made use for detecting if the user is in credit memo transaction.
    Thanks in advance,
    Shyam.

    Hi
    Define a variable for VORGANG and set a value in the same way that from VORGANG SAP gives values for other fields in include LMR1MF5G (FORM vorgang)
      CASE rm08m-vorgang.
        WHEN '1'.                          " Rechnung
          rbkpv-xrech      = 'X'.          " - Rechnungs-Kennzeichen
          rbkpv-tbtkz      = space.        " - Nachbelastungs-Kennzeichen
          rbkpv-xrechl     = 'S'.
          rbkpv-xrechr     = 'H'.
        WHEN '2'.                          " Gutschrift
          rbkpv-xrech      = space.
          rbkpv-tbtkz      = space.
          rbkpv-xrechl     = 'H'.
          rbkpv-xrechr     = 'H'.
        WHEN '3'.                          " nachträgliche Belastung
          rbkpv-xrech      = 'X'.
          rbkpv-tbtkz      = 'X'.
          rbkpv-xrechl     = 'S'.
          rbkpv-xrechr     = 'H'.
        WHEN '4'.                          " nachträgliche Entlastung
          rbkpv-xrech      = space.
          rbkpv-tbtkz      = 'X'.
          rbkpv-xrechl     = 'H'.
          rbkpv-xrechr     = 'S'.
    So, do the algorithm in the reverse for fields XRECH, TBTKZ, XRECHL and XRECHR in MRM_RBKPV.
    I hope this helps you
    Regards
    Eduardo

  • Java returning the reference of the current class.

    Hi,
    I want to write a method in Java to return the reference of the current class in a static manner i.e, without instantiating the class. Please help as to how to go about it.
    Thanks.

    Come on, at least point out where the guy is wrong.
    user563329 wrote:
    I want to write a method in Java to return the reference of the current class in a static manner i.e, without instantiating the class.There is no concept of a "current class" but I guess you meant "the class where the code is defined that the current thread is running now".
    However, that means that class (code) has been instantiated so your question makes no sense.
    If you want the class of the "current running code" use Object#getClass().
    You can reference a class without instantiating it but it will still be loaded. For example:
    public class TestInit {
        public static void main(String[] args) {
            System.out.println(Init.class.getSimpleName());
    class Init {
        static { System.out.println("Init init"); }
    // running it with java -verbose:class show Init is loaded but the static initializer is not run
    // loading lots of class ending with
    [Loaded TestInit from file:/C:/Projects/Dump2/Output/]
    [Loaded java.lang.Void from shared objects file]
    [Loaded Init from file:/C:/Projects/Dump2/Output/]
    Init
    [Loaded java.lang.Shutdown from shared objects file]
    [Loaded java.lang.Shutdown$Lock from shared objects file]

  • I would like to get certified for the SAP Crystal Reports. So, I would like to get some info about the currently available Certification Exams for Crystal Reports (2011/2013). Also, would greatly appreciate  if you have any suggestions for thi

    Hi,
            I would like to get certified for the SAP Crystal Reports. So, I would like to get some info about the currently available Certification Exams for Crystal Reports (2011/2013). Also, would greatly appreciate  if you have any suggestions for this Certification Exam preparation materials from another 3rd party or from SAP directly .  I would like to prepare or get trained well before taking the exam as I see it costs around $500.
    Thanks in advance for your help in this regard!
    Sincerely,
    J

    Please search here.. Training and Certification Shop for your desired certification or training. Don't forget to set your location.
    Please use some summarized title for your query.

  • How i can get a array in the current page?

    Can i send a array parameters from previous page to current page?
    the coding like below:
    // the coding in the previous page
    String[] strSend = {"a", "b", "c"};
    HashMap map = new HashMap(2);
    map.put("array", strSend);
    pageContext.setForwardURL(
    "OA.jsp?OAFunc=XXFMSRHISQF",
    null,
    KEEP_MENU_CONTEXT,
    null,
    map,
    true,
    ADD_BREAD_CRUMB_NO,
    IGNORE_MESSAGES );
    //the coding in the processRequest of the current pageCO.
    String strParam = pageContext.getParameter("array");
    the problem is that the type of "strParam" is a String.
    it's not a array of String. So it is not the parameter what i need.
    can u tell me how to get the array parameter from previous page. thanks.

    This cannot be achieved directly while using the setForwardURL method, all values that are there in the Hashmap will be appended when the redirection is done, so you cannot get the values that are there in the array object directly.
    Workaround that I can think of, put all the array values in a String object, appended by a delimiter, in the second page, after you do a getParameter(String), recover the values using a StringTokenizer and the delimiter that you used while appending the string values and store the values in a Array.
    Thanks
    Tapash

Maybe you are looking for