Would RollBacks For Stateless Session Beans work In case of Stored Procedures or Triggers Written in Oracle PL/SQl

          We are writing a J2EE application and using Weblogic 5.1 on Unix machine. We are
          considering writing some Stored Procedures or Triggers on Oracle DBMS. Hence our
          Stateless Session Beans / Data Access Objects (DAOs) would be calling those stored
          procedures, which would reside on Oracle 8.1.7 (on Windows 2000). (These Data
          Access Objects are running under the umbrella of a Stateless Session Beans). We
          are using WebLogic's Connection Pooling.
          Our question is: Would we get reliable rollbacks from our stored procedures. I
          mean would the Transaction Management process of the EJB container work. Remember
          the SQL is written in the Database (Oracle in this case) in the form of Stored
          Procedures / Triggers through PL/SQL.
          Any ideas or tips would help.
          

          I would agree with Cameron Purdy. Be very cautious to use Oracle specific
          Triggers / Stored Procedures. Consider following, (apart from what he said):
          1. Unreliable behaviour of the Oracle JDBC drivers, specially 8.1.6 family..
          (You may visit the Oracle's web site and see the newsgroups for the JDBC drivers).
          This is enough of a reason to stop right there.
          However for interest sake you may consider following issues:
          2. By use of Oracle specific Triggers / SPs the application will not be portable.
          Vendor Lock In. Remember your choice for J2EE compliant Server (WebLogic in this
          case). The whole purpose would be defeated by going for this option.
          3. There are issues related to the extensibility of the application. I have
          my reservations and would hold my breath on two phase commit protocol transactions
          being reliable in this scenario.
          Have fun...
          Terry
          "Cameron Purdy" <[email protected]> wrote:
          >Yes, the work performed by the SPs and the triggers would be in the same
          >tx.
          >
          >What would NOT work is if the data has been read into WebLogic and then
          >it
          >gets affected by a trigger or SP on the RDBMS, the data in WebLogic is
          >not
          >automatically re-read within that same tx so you need to be careful.
          >
          >Peace,
          >
          >--
          >Cameron Purdy
          >Tangosol Inc.
          >Tangosol Coherence: Clustered Coherent Cache for J2EE
          >Information at http://www.tangosol.com/
          >
          >
          >"Ahmad" <[email protected]> wrote in message
          >news:[email protected]...
          >>
          >> We are writing a J2EE application and using Weblogic 5.1 on Unix machine.
          >We are
          >> considering writing some Stored Procedures or Triggers on Oracle DBMS.
          >Hence our
          >> Stateless Session Beans / Data Access Objects (DAOs) would be calling
          >those stored
          >> procedures, which would reside on Oracle 8.1.7 (on Windows 2000). (These
          >Data
          >> Access Objects are running under the umbrella of a Stateless Session
          >Beans). We
          >> are using WebLogic's Connection Pooling.
          >> Our question is: Would we get reliable rollbacks from our stored
          >procedures. I
          >> mean would the Transaction Management process of the EJB container
          >work.
          >Remember
          >> the SQL is written in the Database (Oracle in this case) in the form
          >of
          >Stored
          >> Procedures / Triggers through PL/SQL.
          >> Any ideas or tips would help.
          >
          >
          

Similar Messages

  • Is it possible to restrict the object creation for stateless session beans

    Hi,
    Is it possible to restrict/fix the ejb object creation for stateless session beans in application server?
    For example, i want to configure the application server ( am using JBOSS ) to create maximum of 10 session bean objects. and if any requests for the stateless session bean come, as application server has created 10 objects, the requests should be blocked.
    Thanks in advance,
    nvseenu

    You can keep a counter in the application code. A static var won't work, but an entity and a consistent id should. This version would affect performance, but it would be portable to other app servers.
    // ConstrainedBean.java
    package unq.ejb;
    import javax.ejb.Stateless;
    import javax.ejb.CreateException;
    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.persistence.PersistenceContext;
    import javax.persistence.EntityManager;
    @Stateless
    public class ConstrainedBean implements Constrained {
        final static int DEFAULT_COUNTERID = 1;
        @PersistenceContext EntityManager em;
        @PostConstruct
        protected void init() throws CreateException {
         ConstrainedBeanCounter counter =
             em.find(ConstrainedBeanCounter.class, DEFAULT_COUNTERID);
         if( counter == null ) {
             counter = new ConstrainedBeanCounter();
             counter.counterId = 1;
             counter.counterValue = 0;
             em.persist(counter);
         if( counter.atMaximum() ) {
             throw new CreateException("error attempting to create > 10 beans");
         else {
             counter.increment();
        @PreDestroy
        protected void destroy() {
         ConstrainedBeanCounter counter = em.find(ConstrainedBeanCounter.class,
                                   DEFAULT_COUNTERID);
         counter.decrement();
        public void doSomething() { System.out.println("doSomething()"); }
    // ConstrainedBeanCounter.java
    package unq.ejb;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    @Entity
    public class ConstrainedBeanCounter implements java.io.Serializable
        @Id public int counterId;
        public int counterValue = 0;
        public void increment() {
         counterValue++;
        public void decrement() {
         counterValue--;
        public boolean atMaximum() {
         return counterValue > 9;
    }

  • A tough one for EJB experts - Stateless session bean spec question

    I am busy learning more about EJBs and came across something confusing regarding the legal operations in the various container callback methods for stateless session beans.
    Specifically, the EJB spec states that in the ejbCreate() method, the SessionContext can be used to obtain a reference to the EJB Object. Now this makes perfect sense with stateful session beans, since the ejbCreate() method isn't called until a client is creating a bean and the container has linked that bean to the client's EJB Object. However, it is my understanding that when it comes to stateless session beans, the container creates the beans and adds them to the bean pool at its leisure. It is not until a business method is called by a client that a stateless bean is actually linked to an EJB object. So, how is it that a stateless bean could ever obtain a reference to an EJB Object from within ejbCreate(). Which EJB Object would it be linked to? This operation just doesn't appear to make sense in that context.
    Can anyone clarify this for me?

    Interesting question. I have such questions all the time! Here's a link to a similar discussion
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=70&t=000905
    Also, I tried this using Weblogic 8.1. Tried to access the EJBObject in ejbCreate before any business method was invoked. I did this by specifying a value for initial-beans-in-free-pool and found that the hash code for the EJBObject was the same for all the bean instances that were created on startup.
    I then invoked a business method and accessed the EJBObject in that method. Again the hash code for the object was the same as the one created on startup.
    Seemed to be that there is a 1:n relation between the EJBObject and bean instances.
    This may be container specific. The spec says the user should be able to invoke the getEJBObject() method in ejbCreate(), its upto the container to comply with it.

  • Max number of instances for stateful session beans

    Hi,
    I am using OC4J 9.0.3 which is embedded in JDeveloper. I would like to set the maximum number of instances for stateful session beans. I know that the session-deployment section of the orion-ejb-jar.xml file has an attribute called max-instances, but it only works for stateless session beans. (at least it says so in the documentation and it did not work with my stateful session bean)
    Anyone knows how to do it?
    Thanks,
    Leonardo Penha

    Leonardo -- Stateful session beans do not come from a pool but are assigned 1 bean to 1 user. When the EJBs life ends the bean goes away. If what you are asking about is passivation configuraiton then that is different. We currently do not support passivation based on some count of SFSBs that exists inside the container but we will provide that capability in the next release of OC4J. (Note: When passivation occurs is mostly up to the vendors and it is not required by the J2EE 1.3 specification based on performance metrics. What is required is that when a SFSB is passivated it is done correctly and we do that.)
    Thanks -- Jeff

  • Hot delpoyment with TopLink and Stateless Session Beans

    What is the recommended procedure for making hot deployment of Stateless session beans work with toplink in WLS 7.0sp1 and oc4j (9.0.3)
    My current setup is as follows using WLS 7.0sp1:
    A stateless session bean is accessing toplink enabled persistent java classes via the SessionManager. I'm currently using the class loader of the stateless session bean:
    * Method in stateless session bean
    * Return the TopLink Session (based on the wls stateless session bean demo)
    public Server getSession() {
              return (Server)SessionManager.getManager().getSession("ejb_sessionbean", this.getClass().getClassLoader());
    Everything is working as such. My session bean can read and write the persistent java classes. However if I redeploy the stateless session bean jar file the toplink session is not reinitalized. This means that new settings in the session.xml are not used. I addition I get other errors.
    I'm having toplink on the server classpath. The toplink enabled persistent classes are in the stateless session bean jar file.
    Thanks
    Henrik

    What is the recommended procedure for making hot deployment of Stateless session beans work with toplink in WLS 7.0sp1 and oc4j (9.0.3)
    Everything is working as such. My session bean can read and write the persistent java classes. However if I redeploy the stateless session bean jar file the toplink session is not reinitalized. This means that new settings in the session.xml are not used. I addition I get other errors.
    I'm having toplink on the server classpath. The toplink enabled persistent classes are in the stateless session bean jar file.Henrik,
    This is a recent post note I found on the same topic:
    It all hinges on whether the TopLink ServerSession class has
    been loaded by a classloader which is actually thrown away
    during the hot deployment process. If this is the case, then
    hot deployment causes the ServerSession to go out of scope
    and finalize methods take care of logging it out properly.
    If you deploy your TopLink Project on the Sytem class path then
    it definately won't work. You'd have to restart the server every time.
    But if the TopLink Project is deployed inside of an .ear file
    and if you pass the correct ClassLoader to the
    SessionManager.getSession( .... ) call then TopLink Session will
    be re-started when you hot deploy the .earBased on this, the solution might be to deploy your EJBs in an ear file. Everything else looks OK. Can you try this and let us know?
    Thanks,
    Pete Farkas

  • How to get stateful and stateless session bean in second jsp

    I create stateful session bean in the first jsp, then how can I get the stateful session bean in the second jsp? I find that somebody store the bean in HttpSession.
    If I store the stateful session bean in HttpSession, then I can get it in the second jsp. My problem is that I can store the stateless session bean in HttpSession, and get it in the second jsp. Then, both stateful and stateless can maintain the state in the second jsp. What is the difference between stateful and stateless session bean in this case ?
    I understand the definition of stateful and stateless session bean, but I'm confuse how to use session bean. Can anyone provide sample jsp to show difference of stateful and stateless? How the stateful session bean can maintain the state for the client?

    Greetings,
    I create stateful session bean in the first jsp, then how can I get the stateful session bean in the
    second jsp? I find that somebody store the bean in HttpSession.Which is the correct scope for sharing client-specific data when 'request' scope is insufficient.
    If I store the stateful session bean in HttpSession, then I can get it in the second jsp. My problem is
    that I can store the stateless session bean in HttpSession, and get it in the second jsp. Then, bothWhy is that a "problem"? Does your application not require the stateless bean to be shared? If so, then don't store the EJBObject reference in the session...
    stateful and stateless can maintain the state in the second jsp. What is the difference betweenWhat do you mean by this exactly?..
    stateful and stateless session bean in this case ?Statefulness of session beans is in regard to maintaining client state (er, in all cases). If your "stateless" bean is receiving information from the client (i.e. its caller) - either through a create method or a business method - and that information is available (retrievable from the bean) on subsequent method calls, then that bean is, in fact, stateful - regardless of how it is deployed.
    I understand the definition of stateful and stateless session bean, but I'm confuse how to use
    session bean.The correct question, it here seems, is "when" to use which type... Use a "stateful" bean when information about (from) the client (i.e. the caller) must be maintained across method calls of the bean. Use a "stateless" bean for general business methods that do not depend on "prior knowledge" of the client (i.e. the caller).
    Can anyone provide sample jsp to show difference of stateful and stateless? How the statefulA "sample JSP" would yield nothing additional... The semantics of calling, using, and "persisting", bean references are always the same - regardless of type or class. However, the reason(s) for using one over the other depends entirely on the needs of your application.
    session bean can maintain the state for the client?I recommend that you spend more time learning about EJBs generally. In particular, it seems you require more fundamental understanding of their scope and lifecycle. Refer to sections 4, 6, and 7 of the EJB 2.0 Specification.
    Regards,
    Tony "Vee Schade" Cook

  • EJB: Stateless Session Bean create() Question.

    Lets say I have a stateless session bean that fetches data from my database. The point of the bean is to just do large SQL searches and funnel data back to the client. The prolem I have is that I am somehow fighting memory leaks. Despite having checked the code a number of times, the memory usage on my appserver continues to climb no matter what I do. I have theorized that the problem might be in the way Im using ma DataFetchBean (DFB).
    When I start the client, he obtains a user session. This is a stateful session bean that he uses for almost all communication with the server. Then I call "getDataFetchBean" in the user session which calls DataFetchBeanHome.create(). Then the client holds onto the returned reference, using it for the live of his connection. As he disconnects, he calls remove on the bean.
    Question is this:
    1) Is it better for me to call create() prior to each call to the stateless session bean ?
    2) Do you have any theories on why im loosing memory with this setup?
    TIA
    -- Rob

    1. But I thought you were using a 'stateful session bean'?
    2. For stateless session beans, there is no direct link between a remote reference and an instance of the bean. It is safe to hang on to the remote reference as long as you would like, of course it may go stale if the server dies. You will also find that the create() method does not actually contact the server, so doing it each usage costs very little. So, either way you should be fine.
    3. As for memory leaks, make sure that you are closing all statements, result sets, etc. promptly. These are commonly the problem. Also, use hprof or some other profile tool to determine what types of data you are allocating and (with better tools) what types of data you may be holding on to references to.
    Chuck

  • Transaction management in stateless session beans.

    Hi all,
    I am using EJB 1.1.
    I have a statless session bean that has two methods- A and B.
    which does not involve any database interaction
    like inserting/updating/deleting the data in the database.
    The process flow is such the client always calls A first followed by the call to B.
    I have the Transaction attribute set as TX_REQUIRED at the whole bean level.
    Now my question is as follows:
    Since it is a stateless bean, ejbCreate() is called for every method's invocation.
    So does it mean that a new transaction is started for every method invocation?
    Also since a transaction ends by commit/rollback.
    The transation associated with the method A/B will never get completed as there is no commit/rollback involved in method implementation.
    So how is this transaction ended?
    Any more details about the transaction management in stateless session beans is highly appreciated.
    Any input at the earliest is highly appreciated.
    Thanks in advance.

    Since it is a stateless bean, ejbCreate() is called for every method's invocation.For stateless session bean , Create() is not delegated to the instance.
    So does it mean that a new transaction is started for every method invocation?This depends opon the Tx attribute and sequence of calls. Since you have given Tx_required then if you call any method and there is no Tx context associated with client,then a new TX will be started by container othere wise it will execute in the same TX context as the calling client. Note that client can be jsp or other ejb method.
    Also since a transaction ends by commit/rollback.
    The transation associated with the method A/B will never get completed >as there is no commit/rollback involved in method implementation.
    So how is this transaction ended?If you are using COntainer managed TX then Transaction handling like starting , ending etc is handled by the container. You need not worry about that.
    Any more details about the transaction management in stateless session >beans is highly appreciated.
    Any input at the earliest is highly appreciated.Some time back I had read the article on how the Transaction management done by container on IBM Site. I dont have URL , but you can search the site.
    HTH
    -Ashwani

  • Registering EJB/Stateless Session Bean Web Service in Registry

    Hi verybody!
    I would like to know how I can register a Web Service in a registry. The web service is implemented as a session bean.
    The problem is not the actual code to register the service, but how and where can I hook this code into the application so that it is started when the application server is started.
    I've read the Sun J2EE tutorial which registered the service in the moment when the context for the servlet for an ordinary web client was created. This is not what I want. I would like to register the service when starting the EJB container, without the need to give it a kick from some external interface.
    Any help or ideas will be greatly welcome
    Regards
    PI

    1. But I thought you were using a 'stateful session bean'?
    2. For stateless session beans, there is no direct link between a remote reference and an instance of the bean. It is safe to hang on to the remote reference as long as you would like, of course it may go stale if the server dies. You will also find that the create() method does not actually contact the server, so doing it each usage costs very little. So, either way you should be fine.
    3. As for memory leaks, make sure that you are closing all statements, result sets, etc. promptly. These are commonly the problem. Also, use hprof or some other profile tool to determine what types of data you are allocating and (with better tools) what types of data you may be holding on to references to.
    Chuck

  • A simple class vs. Stateless Session Bean

    If I want a stateless bean to do some simple work such as give it a number A
              and get A+10 in return, does the Stateless session bean really perform
              better than a simple class? In my project, there are lots of simple job like
              this, which one should I use? A Stateless session bean or a simple class?
              Besides, when is the right time to use a stateful session bean? I use the
              servlet to keep user information in the session, and than have the stateless
              session bean working with it...This pattern meets most requirement....So I'm
              wondering in what situation should I need to use stateful session bean?
              Thanks!
              

    - It is far better to use a stateless session bean when implementing the session-facade pattern.
    - Keeping a home interface on the object won't make him stateful.
    - with the stateless beans, you do not decide when they're created. The container does.
    - The number of entity beans is not so important. The only thing important is to have a remote methode in your stateless(es) for each atomic transaction ("atomic" meaning here "you cannot cut").
    /Stephane

  • Where to store stateless session bean reference?

    Hi,
    I am currently writing my first ejb-jar <-> web app pair of applications. Thanks to EJB3.0 and J2EE5 the ejb part was quite easy to learn. J2EE has become a really cool platform in its recent version.
    On the Web Application side I have the following question:
    Where should references to stateless session beans generally be stored? Is it OK to store them in the ServletContext? In the HTTP session? Or is it better to do a JNDI lookup on a per request basis?

    Application Scope (ServletContext) if many servlets use it, initialised by applicationListener (big advantage is that your webapp will not load if bean lookup fails.
    Page scope (instance variable of servlet ), initialised in init() method of servlet if only needed by this page (servlet).
    Session scope: makes no sense for stateless session beans, useful for stateful session beans only
    Request scope: rarely used for this because JNI lookup overhead.
    Hope this helps, R

  • EJB Deployment Problem for Stateless Session with Multiple ejbCreate

    In weblogic server if I use multiple ejbCreate with different parameters it is found
    to raise error with error message :
    <Error deploying application cart:
    Unable to deploy EJB: cart.jar from cart.jar:
         In EJB CartBean, the stateless session bean class must define a single ejbCreate
    method that takes no parameters.
         at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:256)
         at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:220)
         at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
         at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
         at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
         at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
         at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
         at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
         at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
         at weblogic.j2ee.Application.addComponent(Application.java:160)
         at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
         at ......
    Code example...
    public void ejbCreate() throws CreateException {}
    public void ejbCreate(String person) throws CreateException {
    // code here
    public void ejbCreate(String person, String id) throws CreateException {
    // code here
    the code above is found ok in J2ee Ref. Implementation and able to deploy. Why this
    is not deployable in Weblogic(tried in 6.1).is it a required condition for stateless
    session bean
    to have only single ejbcreate with no parameters ?
    Can somebody explain? and is there a way out to overcome this constraint if so in
    weblogic
    with regards
    Ganeshan Kalembeth

    Stateless session beans may define only a single create() method with no
    suffix
    and no arguments.
    Michael Jouravlev wrote:
    "Ganeshan Kalembeth" <[email protected]> wrote in message
    news:3ce28a88$[email protected]..
    In weblogic server if I use multiple ejbCreate with different parametersit is found
    to raise error with error message :
    <Error deploying application cart:
    Unable to deploy EJB: cart.jar from cart.jar:
    In EJB CartBean, the stateless session bean class must define a singleejbCreate
    method that takes no parameters.
    atweblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.ja
    va:256)
    atweblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBCompli
    anceChecker.java:220)
    atweblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
    at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
    at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
    at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
    at weblogic.j2ee.Application.addComponent(Application.java:160)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at ......
    Code example...
    public void ejbCreate() throws CreateException {}
    public void ejbCreate(String person) throws CreateException {
    // code here
    public void ejbCreate(String person, String id) throws CreateException {
    // code here
    the code above is found ok in J2ee Ref. Implementation and able to deploy.Why this
    is not deployable in Weblogic(tried in 6.1).is it a required condition forstateless
    session bean
    to have only single ejbcreate with no parameters ?
    Can somebody explain? and is there a way out to overcome this constraintif so in
    weblogic
    with regards
    Ganeshan KalembethRTFM EJB 2.0 Spec, chapter 7.8

  • Need for idempotent stateless session beans

    I'm trying to find a solution for failovering method calls on a stateless
              session bean, even for method calls that already have started.
              I understand that failover services for failures that occur while the method
              is in progress, are supported only for idempotent method.
              My question is why ???
              Assuming that I start a transaction each time I call a method on a bean, I
              believe that committing the work will be done only after the method returned
              successfully. Why can't the stub decide that if it something went wrong in
              the transaction then it wasn't committed and it can be run again ?
              We need the method call failover services real bad, while making the methods
              idempotent can be very awkward sometime.
              TIA
              Eran.
              

    Eran Erlich wrote:
              > I'm trying to find a solution for failovering method calls on a stateless
              > session bean, even for method calls that already have started.
              > I understand that failover services for failures that occur while the method
              > is in progress, are supported only for idempotent method.
              > My question is why ???
              > Assuming that I start a transaction each time I call a method on a bean, I
              > believe that committing the work will be done only after the method returned
              > successfully. Why can't the stub decide that if it something went wrong in
              > the transaction then it wasn't committed and it can be run again ?
              Its hard to decide whether the stub has to retry or not since the failure
              could have happened anytime. So, the stub will retry only if it knows for sure
              that it is safe to retry.
              - Prasad
              >
              > We need the method call failover services real bad, while making the methods
              > idempotent can be very awkward sometime.
              >
              > TIA
              > Eran.
              

  • Some methods not working in EJB 3.0 stateless session bean

    Hi,
    I am trying to build an application with EJB 3.0 stateless session bean in weblogic 10. In that during build (using ant 1.6) it showing error as one of the ejb-class should have anotataion as @stateless, @stateful or @messageDiven
    But i have given it corrrectly.
    When I comment some of the methods the same bean is working fine. While i have annoatated some of the methods with @transaction attribute annotataion.
    So, should i write all those methods there any particular order or what.
    Can anybody pls tell me, what can be the problem as weblogic.appc is giving such error?

    Hi,
    I am trying to build an application with EJB 3.0 stateless session bean in weblogic 10. In that during build (using ant 1.6) it showing error as one of the ejb-class should have anotataion as @stateless, @stateful or @messageDiven
    But i have given it corrrectly.
    When I comment some of the methods the same bean is working fine. While i have annoatated some of the methods with @transaction attribute annotataion.
    So, should i write all those methods there any particular order or what.
    Can anybody pls tell me, what can be the problem as weblogic.appc is giving such error?

  • Transaction Management -  App Module in Stateless Session Bean

    Hi All,
    We are using Application Module in local mode in a Stateless Session Bean. The application module gets the database connection from the datasource of the application server(Oracle 9iAS).
    The problem that we are facing is as follows
    - When a database update/insert is made using the Application Module and the ViewObject (and the underlying Entity Object), the changes are not being commited.
    Please note that we are not using the ApplicationModule.getTransaction.commit() as it does not give us commit/rollback control from another Session Bean/UseCase. We instead are relying on the Container to manager the transaction and commit the database changes. But the container does not seem to refresh the changes to the database.
    Q1 - Is there a contract between the container and the application module that needs to be created so that the container managed-transaction and the application module work together ?
    Any help in this matter would be greatly appreciated.
    -Ankur Sinha

    Q1 - Is there a contract between the container and the application module that needs to be created so that the container managed-transaction and the application module work together ?For stateless beans you have to call postChanges in the business method for the changes to be applied to the db. For stateful beans bc4j we do that automatically just before the transaction ends.
    Take a look at the following howto
    http://otn.oracle.com/products/jdev/howtos/bc4j/ejbstateless_with_bc4j.html
    In 9.0.3 you'll be able to create a stateless service bean declaritively.
    dhiraj Hi dhiraj,
    - I looked at the example but was not able to find the ContainerManagedTxnHandlerImpl class in the BC4J jars. Can you point me to the latest version of BC4J on technet ?. I already have JDeveloper 9.0.2
    - Regarding your response, what do you mean by creating stateless service bean declaritively ?
    Thanks,
    Ankur

Maybe you are looking for

  • Ipod touch 1st generation not showing wifi

    I have a 8GB 1st generation itouch with iOS 3.1.3 and in settings, wifi isnt grayed out but is unclickable. i looked inside and i thing that little piece of metal on the back cover is making contact with the wifi antenna itself. what can i do?

  • Display not sleeping

    After the period of time I've specified to have my display go to sleep it will turn off but then immediately turn back on. The result is that my display doesn't sleep at all. When I'm not using it for extended periods of time (or trying to sleep) I h

  • Format Definition

    Hello Experts, I dont know about Format Definition Add-on that what is the exactly use of this. why use this add-on  And what is the functionality ? Thanks & Regards M.S.Niranjan

  • No sound on 2nd/3rd Gen 8gb

    I have an iPod Touch, 2nd/3rd Gen with the 4.01 software on it. It does not seem to be making any sound, externally or with headphones. There is no sound from apps. Strangely, if you try to play music, when you hit play, about a second later it will

  • UWL and Workitems

    Hi all, We're working with approvals through the UWL. We've configurated the wf and this works perfectly at our ECC, when we execute our Workitem through the Portal, this seems ok, this comes with the decision buttons and as a webdynpro screen. The b