EJB business method performance metrics

Hi,
is there any facility provided by WLS 7.0 to profile business methods.
I'm interested in something similar to JBoss's Metrics Interceptor which measures
time spent by the EJB container on business and life-cycle method invocations.
WLS provides ServletRuntimeMBean for servlets but I have found nothing for EJBs.
Any idea appreciated,
SB

is there any facility provided by WLS 7.0 to profile business methods.
I'm interested in something similar to JBoss's Metrics Interceptor whichmeasures
time spent by the EJB container on business and life-cycle methodinvocations.
>
WLS provides ServletRuntimeMBean for servlets but I have found nothing forEJBs.
Off the shelf products:
Precise Indepth for J2EE
Wily Introscope
Peace,
Cameron Purdy
Tangosol, Inc.
Clustering Weblogic? You're either using Coherence, or you should be!
Download a Tangosol Coherence eval today at http://www.tangosol.com/
"SB" <[email protected]> wrote in message
news:[email protected]..
>

Similar Messages

  • Business method performance metrics

    Hi,
    is there any facility provided by WLS 7.0 to profile business methods.
    I'm interested in something similar to JBoss's Metrics Interceptor, which measures
    time spent by the EJB container on business and life-cycle method invocations.
    I want to make sure this before starting to implement our proprietary solution.
    Thanks for your help,
    SB

    Off the shelf products:
    Precise Indepth
    Wily Introscope
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "SBRemalWork" <[email protected]> wrote in message
    news:3ce81603$[email protected]..
    >
    Hi,
    is there any facility provided by WLS 7.0 to profile business methods.
    I'm interested in something similar to JBoss's Metrics Interceptor, whichmeasures
    time spent by the EJB container on business and life-cycle methodinvocations.
    >
    I want to make sure this before starting to implement our proprietarysolution.
    >
    Thanks for your help,
    SB

  • OSB EJB business service performance

    A friend reported me that accessing a EJB via OSB EJB business service is twice as slow as accessing the EJB remotely in Java code.
    Unfortunately he didn't run any profiling tool to determine the Hot Methods and Heap consumption.
    The EJB receives a small string as parameter, and returns a small string back.
    Anybody else experienced performance problems with EJB in OSB?
    Anybody can give tips and tricks (apart from using Coherence cache) to improve performance?
    I have suggested him to create a "proxy" WS to invoke the EJB, and invoke this WS from OSB.... but I am not really sure it would help.

    A friend reported me that accessing a EJB via OSB EJB business service is twice as slow as accessing the EJB remotely in Java code.
    Unfortunately he didn't run any profiling tool to determine the Hot Methods and Heap consumption.
    The EJB receives a small string as parameter, and returns a small string back.
    Anybody else experienced performance problems with EJB in OSB?
    Anybody can give tips and tricks (apart from using Coherence cache) to improve performance?
    I have suggested him to create a "proxy" WS to invoke the EJB, and invoke this WS from OSB.... but I am not really sure it would help.

  • Got javax.transaction.HeuristicMixedException  when calling EJB business methods

              I have developed two EJBs. One is a stateless session bean,
              called InventorySessionBean(JNDI name: Inventory); the other one
              is a CMP Entity Bean called InventoryBean(JNDI name:
              InventoryBean). The InventoryBean represents the business object
              of Inventory. InventoryBean is declared CMT and all methods in
              the beans have attribute "Required". The InventorySessionBean is a session facade
              which encapsulate the business methods of
              InventoryBean. InventorySessionBean is declared CMT and all
              methods in the bean have attribute"RequiresNew" The backend
              database is Ingres.
              I have setup JDBC connection pool, Datasource and Tx Datasource.
              There is a client program which invokes InventorySessionBean to get business data
              from database.
              Actually the InventorySessionBean invokes InventoryBean entity bean to get data
              from database.
              After I starting up the weblogic server, I ran the client program to get data,
              everything works fine.
              After a period of time (about 50 minutes ) from starting the WLS server, I reran
              the client program.
              I got following exceptions:
              Exception while commiting Tx : Name=[EJB com.memec.na.mppl.businessobjects.inventory.InventorySessionBean.getPriceAndAvailability(java.lang.String,ja
              va.lang.String,java.lang.String,java.lang.String)],Xid=4:916d7da2142a593c(2094524),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
              since begin=3,seconds left=119,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committed,assigned=leiWLS),SCInfo
              [leiwang+leiWLS]=(state=committed),properties=({weblogic.transaction.name=[EJBcom.memec.na.mppl.businessobjects.inventory.InventorySessionBean.getPriceAndAvailability(java.lang.String,java.lang.String,java.lang.String,java.lang.String)],
              weblogic.jdbc=t3://10.1.129.124:7001}),OwnerTransactionManage
              r=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=leiWLS+10.1.129.124:7001+leiwang+,
              Resources={})],CoordinatorURL=leiWLS+10.1.129.124:7001+leiwa
              ng+); nested exception is:
              javax.transaction.HeuristicMixedException: (weblogic.jdbc.jts.Connection,
              HeuristicHazard, (javax.transaction.xa.XAException: Error dequeueing
              message for statement connection # 23 type S))
              java.rmi.RemoteException: Exception while commiting Tx : Name=[EJB com.memec.na.mppl.businessobjects.inventory.InventorySessionBean.getPriceAndAvailab
              ility(java.lang.String,java.lang.String,java.lang.String,java.lang.String)],Xid=4:916d7da2142a593c(2094524),Status=Committed,HeuristicErrorCode=XA_HEU
              RHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3,seconds left=119,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committe
              d,assigned=leiWLS),SCInfo[leiwang+leiWLS]=(state=committed),properties=({weblogic.transaction.name=[EJB
              com.memec.na.mppl.businessobjects.inventory.In
              ventorySessionBean.getPriceAndAvailability(java.lang.String,java.lang.String,java.lang.String,java.lang.String)],
              weblogic.jdbc=t3://10.1.129.124:7001
              }),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=leiWLS+10.1.129.124:7001+leiwang+,
              Resources={})],CoordinatorURL=leiWL
              S+10.1.129.124:7001+leiwang+); nested exception is:
              javax.transaction.HeuristicMixedException: (weblogic.jdbc.jts.Connection,
              HeuristicHazard, (javax.transaction.xa.XAException: Error dequeueing
              message for statement connection # 23 type S))
              javax.transaction.HeuristicMixedException: (weblogic.jdbc.jts.Connection, HeuristicHazard,
              (javax.transaction.xa.XAException: Error dequeueing message
              for statement connection # 23 type S))
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
              at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
              at com.memec.na.mppl.businessobjects.inventory.InventorySessionBean_9wgxw_EOImpl.getPriceAndAvailability(InventorySessionBean_9wgxw_EOImpl.jav
              a:224)
              at com.memec.na.mppl.processors.Outbound3A2Processor.getData(Outbound3A2Processor.java:202)
              Stop the WLS server and restart it again. Everything works well.
              Any comments to this problem would be really appreciated. Thanks.
              

    Hi
    I was using the session bean.Your suggestion helped me a lot.Perfect.
    I debug my program and found that from ejbCreate()exception is getting.
    I was getting the datasource object thro ejb create() initialisation.
    Somehow the look up jndi which i mentioned was not interpretting from ejb-jar.xml ias-ejb-jar.xml and datasource ref .Due to this iam getting jndi Namenotfound exception which in turns to null pointer as datasource is getting null.
    when i hardcoded in the ejb the the jndi name for datasource it is working fine.Bit worried all the existing ejbs working with the xml referenced datasource and jndi,but when i added a new ejb with same properties it is failing to get the jndi name.
    Piece of code from ias-ejb-jar.xml
    <resource-ref>
              <res-ref-name>myDataSource</res-ref-name>
              <jndi-name>jdbc/nb/myData</jndi-name>
    </resource-ref>
    Piece of code from ejb-jar.xml
    <resource-ref>
              <res-ref-name>myDataSource</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
    </resource-ref>
    Thanks a lot meka

  • Oracle E-Business Suite Performance Metrics?

    Hi,
    Can anyone please comment on the subject. What are the performance metrics? In general offcourse.
    Sharjeel.

    Performance metrics for Oracle E-Business Suite is used to gather information about application/database for the purpose of monitoring the performance (application server, forms sessions, database, CMs .. etc). Its one of the components of Oracle Applications Manager (OAM), OAM as well as Oracle Grid Control provide a complete and integrated solution for Oracle E-Business Suite system management.
    To get more information and technical papers about this tool, please refer to "Administration and Management (OAM & OEM)" page at (http://www.oracle.com/technology/products/applications/admin/index.html)

  • Getting error while calling ejb business methods from servlet

    Hi
    Iam getting error when i try to call a ejb method from servlet.Error is
    "com.netscape.server.eb.UncheckedException: unchecked exception nested exception is:java.lang.NullPointerException".
    I build the application and deployed it successfully.Iam using IAS 6.O with windows NT 4.0.
    This is just a method which takes values from database and return as an array of bean to servlet.
    Any help on this.Thanks Shank

    Hi
    I was using the session bean.Your suggestion helped me a lot.Perfect.
    I debug my program and found that from ejbCreate()exception is getting.
    I was getting the datasource object thro ejb create() initialisation.
    Somehow the look up jndi which i mentioned was not interpretting from ejb-jar.xml ias-ejb-jar.xml and datasource ref .Due to this iam getting jndi Namenotfound exception which in turns to null pointer as datasource is getting null.
    when i hardcoded in the ejb the the jndi name for datasource it is working fine.Bit worried all the existing ejbs working with the xml referenced datasource and jndi,but when i added a new ejb with same properties it is failing to get the jndi name.
    Piece of code from ias-ejb-jar.xml
    <resource-ref>
              <res-ref-name>myDataSource</res-ref-name>
              <jndi-name>jdbc/nb/myData</jndi-name>
    </resource-ref>
    Piece of code from ejb-jar.xml
    <resource-ref>
              <res-ref-name>myDataSource</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
    </resource-ref>
    Thanks a lot meka

  • Why string has an extra blank when I use EJB business method to get it

    I have the following code:
    Person bean = home.create("Jon", 10, "Huge", 1.0);
    java.util.Enumeration result = home.findAll();
    if (result.hasMoreElements()) {
    Person bean1 =(Person) javax.rmi.PortableRemoteObject.narrow(result.nextElement(), Person.class);
    getTraceWriter().println(" ** name = " + bean1.getName() + ", rank = " + bean1.getRank() +
    ", power = " + bean1.getPower() + ", rating = " + bean1.getRating());
    bean1.remove();
    I found the bean1.getName is "Jon " instead of "Jon". why???? Does sb. have a clue?
    Thanks,
    JST

    Here is the code. Thanks very much!
    import javax.ejb.*;
    import java.sql.*;
    import javax.sql.DataSource;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.naming.Context;
    public class PersonBean implements EntityBean {
    public String name;
    public int rank;
    public String power;
    public double rating;
    public EntityContext context;
    private DataSource ds = null;
    private String user = "db2admin";
    private String password = "db2admin";
    * ejbCreate method
    * @param name String The person name
    * @exception javax.ejb.CreateException
    public PersonKey ejbCreate(String name)
    throws CreateException {
    return ejbCreate(name, 0, "default", 0.0);
    * ejbCreate method
    * @param name String The person name
    * @param rank int The person rank
    * @param power String The person power
    * @param rating double Rating of the person
    * @exception javax.ejb.CreateException
    public PersonKey ejbCreate(String name, int rank, String power, double rating)
    throws CreateException {
    if (name == null || name.length() == 0) {
    throw new CreateException("Invalid parameter: name cannot be null");
    else if (power == null || power.length() == 0) {
    throw new CreateException("Invalid parameter: power cannot be null");
    this.name = name;
    this.rank = rank;
    this.power = power;
    this.rating = rating;
    Connection con = null;
    PreparedStatement ps = null;
    try {
    System.err.println("before getconnection");
    con = this.getConnection();
    System.err.println("after getconnection");
    ps = con.prepareStatement("insert into TESTMEN values (?,?,?,?)");
    ps.setString(1, name);
    ps.setInt(2, rank);
    ps.setString(3, power);
    ps.setDouble(4, rating);
    if (ps.executeUpdate() != 1) {
    throw new CreateException("Failed to add (" + name + "," + rank + "," +
    power + "," + rating + ") to database.");
    PersonKey pk = new PersonKey(name);
    return pk;
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    public void ejbPostCreate(String name, int rank, String power, double rating) {
    // empty for now
    public void ejbPostCreate(String name) {
    // empty for now
    * ejbFindPrimaryKey
    * Find bean by primary key
    * @return PersonKey Primary key object for the bean
    * @exception FinderException
    * @exception ObjectNotFoundException
    public PersonKey ejbFindByPrimaryKey(PersonKey key)
    throws FinderException, ObjectNotFoundException {
    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    boolean found = false;
    boolean multipleFound = false;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("select name from TESTMEN where name = ?");
    ps.setString(1, key.name);
    rs = ps.executeQuery();
    found = rs.next();
    if (found) {
    multipleFound = rs.next();
    if (!multipleFound) {
    return key;
    else {
    throw new FinderException("Multiple objects found with name = " + name);
    else {
    throw new ObjectNotFoundException("Cannot find object with name = " + name);
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * setEntityContext method
    public void setEntityContext(EntityContext context) {
    this.context = context;
    * unsetEntityContext method
    public void unsetEntityContext() {
    context = null;
    * ejbFindAll method
    * Find all the beans.
    * @return java.util.Enumeration Enumeration of all beans
    public Enumeration ejbFindAll(){
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
    con = this.getConnection();
    stmt = con.createStatement();
    rs = stmt.executeQuery("select * from TESTMEN");
    Vector keys = new Vector();
    while (rs.next()) {
    keys.addElement(new PersonKey(rs.getString("name")));
    return keys.elements();
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (stmt != null) stmt.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbActivate() method
    public void ejbActivate() {}
    * ejbPassivate method
    public void ejbPassivate() {}
    * ejbLoad method
    public void ejbLoad() {
    PersonKey pk = (PersonKey) context.getPrimaryKey();
    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("select * from TESTMEN where name = ?");
    ps.setString(1, pk.name);
    rs = ps.executeQuery();
    if (rs.next()) {
    name = pk.name;
    rank = rs.getInt("rank");
    power = rs.getString("power");
    rating = rs.getDouble("rating");
    else {
    throw new EJBException("No record found in ejbLoad()");
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbStore method
    public void ejbStore() {
    Connection con = null;
    PreparedStatement ps = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("update TESTMEN set " +
    "name = ?, rank = ?, power =?, rating = ? where name = ?");
    ps.setString(1, name);
    ps.setInt(2, rank);
    ps.setString(3, power);
    ps.setDouble(4, rating);
    ps.setString(5, name);
    if (ps.executeUpdate() != 1) {
    throw new EJBException("Failed in updating database in ejbSotre().");
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbRemove method
    public void ejbRemove() {
    Connection con = null;
    PreparedStatement ps = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("delete from TESTMEN where name = ?");
    ps.setString(1, name);
    if (ps.executeUpdate() != 1) {
    throw new EJBException("cannot remove by name = " + name);
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();

  • Why we should not declare a business method as final in EJBs - THX

    Why we should not declare a business method as final in EJBs - THX

    'cause it makes no sense at all and doesn't boost performance.
    regards
    dan
    scpj2

  • Calling Enity Bean's business methods from a session bean in EJB 3.0 specif

    Hello everybody,
    Happy to be a member with you in this forum.
    This is my first participation in this forum.
    I have some problem to start with EJB 3.0 specification, I have created an entity bean with some business methods that access a mysql datbase, then i want to create a stateful session bean to provide the client an interface to consume business methods in Enity be
    Please can someone you help me with an example

    @Vladimir Pavlov
    I did not understand what you are trying to convey...
    Whenever an attribute of this bean is modified we want to access that latest value.... Is there any way to know, when the attribute is modified? Just with get/set we can not know, when it is modified... am i right?
    We want to achieve this without modifying the existing source code of the EJB....
    @ Ivo Simeonov
    As of my knowledge, to use interceptors we need to modify the EJB source code, but we do not want to touch the source code....
    All this has to be achieved dynamically when the application is deployed in the production.... is it possible???

  • Problem generating Web Service with business methods in multiple EJB's

    Hi,
    I'm I a "web service novice" but I'm working with an
    application which was developed in an earlier version
    of Studio which has
    ~30 business method coming from ~12 EJB's. When I attempt
    to recreate the Web Service in Java Studio Enterprise 7 (had same problem versions 5 and 6) I have trouble. When I execute the "Generate Web Service Files" command I get complilation errors in the <webservice_name>.java file. It is obvious that the
    protected Map theJNDIMap = makeJNDIMap();
    protected Map makeJNDIMap() {
         Map m = new HashMap();
         // This map might get changed at deployment time
         m.put(......
    is all screwed up. Entries are missing and the closing bracket isn't even there.
    Is there some user error on my part?
    Is this a know bug (I couldn't any info. and I get the same behavior on the current and older versions of Studio)?
    Is there a workaround? I can fix this particular java file and compile it sucessfully. However, I'm still missing many of the other web service files that should be generated for me.
    All the tutorials on web services that I've done to looked over all get there business method from 1 EJB :(
    Please advise,
    Freda Phelps

    I had a problem too. Successfully created an EJB and its test application. Tested the same using Web client and works fine. Now created a web service from EJB methods. It created the skeletons. When tried creating Web Svc test client or web svc other files..it gives me an exception saying xmlservices.jar doesnt exist in the C:\Docs and Settings\<$username>\.jstudio\Ent04Q4modules. I have searched for this file and copied (overwritten) it into this directory. But still i cant proceed further.

  • New Business Method in EJB not available in Webdynpro Model

    Hi,
    I am using EJBs for Business Logic in my webdynpro java application. I have added a new Business Method in one of the session bean. But I am not able to see the new method in webdynpro model. I am following the below procedure -
    1. Select the Session bean.
    2. Add New Business Method. It automatically adds the method in Remote and Local Interface.
    3. Implement thie new method.
    4. Build EJB project
    5. Add it to EAR
    6. Build EAR Project
    7. Deploy EAR Project
    After following above steps, when I am trying to create a model in my webdynpro project, it does not reflect the changes (context returned by new business method).
    Can any one help me on this ?
    Thanks in advance,
    Gaurav

    The issue is resolved. This is the case where methods in beans returns collections. For such scenario, relations have to be created manually, it does not come automatically. For details refer the blog at below link --
    /people/balaramnaidu.bankuru/blog/2006/04/23/importing-complex-javabean-model-into-webdynpro-by-creating-relationships-for-the-model-classes
    Thanks everyone.
    Gaurav

  • Marshall exception when calling a remote business method in EJB

    Hi,
    From a java client, i am calling a business method from a ejb. the home and remote interface object is sucessfully received at the client. but at the time of calling the remote business method the following error occurs.
    java.rmi.RemoteException: ; nested exception is:
    weblogic.rmi.ServerException: A remote exception occurred while executing the method on the
    remote object
    - with nested exception:
    [weblogic.rmi.MarshalException: error marshalling return
    - with nested exception:
    [java.io.NotSerializableException: java.util.Vector$1]]
    java.io.NotSerializableException: java.util.Vector$1
    the business method returns an enumeration object.
    How to solve this?
    -chidam

    hi chidambaresh,
    you could have sent this to me directly.
    the Enumeration si an interface and so the object we get during the runtime is basically an object of some implementation of this interface.
    the Enumeration you get from HAshtable is actually Serializable.
    but the Enumeration you actually get from Vector (this is actaully an inner class of Vector viz., Vector$1) is not serializable. that is what the error you are getting.
    regards
    Srinivasan.R
    (VAMSOFT)

  • How to do Business Rules' performance turning in BPEL?

    Does anyone have any business rules' performance turning experience or suggestion? Please share and help.
    In our BPEL process, we invoke one or two business rule with Decide activity. Because we think using business rule should be more flexible and re-usable. If we want to modify rule in the production environment, with business rule method it's no need to re-deploy the BPEL process. What we need to do is lively modify the business rule with rule author.
    But in the stress testing period, we find that the Decide activity which invoke the business rule is a big bottleneck in the BPEL process. If the concurrent threads are large enough, then the whole BPEL server is suspend and more error BPEL instances happen.
    By default, the business rule is deployed as web service in application server and BPEL process invoke it through SOAP protocol. SOAP protocol is much slow than WSIF method. So we change the describe file in BPEL process and let BPEL process invoke business rule through WSIF method, meanwhile we change some parameters and do some turning work with database and SOA Suite. But WSIF method is not good enough and we can't find any parameter related to business rule and web service.
    After using WSIF method, we still find lots of following errors log in stress testing (Timed out):
    <2008-04-18 22:34:16,453> <ERROR> <default.collaxa.cube.engine.dispatch>
    <DispatchHelper::handleMessage> failed to handle message javax.ejb.EJBException:
    An exception occurred during transaction completion: ;
    nested exception is: javax.transaction.RollbackException: Timed out
    javax.transaction.RollbackException: Timed out
    at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit
    (ApplicationServerTransaction.java:582)
    at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:244)
    at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:130)
    at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433)
    at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle
    (InvokeInstanceMessageHandler.java:37)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke
    (SetContextActionInterceptor.java:44)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)
    javax.ejb.EJBException: An exception occurred during transaction completion: ; nested exception is:
    javax.transaction.RollbackException: Timed out
    at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:365)
    at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:139)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle
    (InvokeInstanceMessageHandler.java:37)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke
    (SetContextActionInterceptor.java:44)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.transaction.RollbackException: Timed out
    at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit
    (ApplicationServerTransaction.java:582)
    at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:244)
    at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:130)
    at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433)
    at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
    ... 29 more
    <2008-04-18 22:34:16,453> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process>
    无法处理分派消息 ... 异常错误 ORABPEL-05002
    消息处理错误.
    尝试处理消息 "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage" 时出现异常错误;
    异常错误为: An exception occurred during transaction completion: ; nested exception is:
    javax.transaction.RollbackException: Timed out
    ORABPEL-05002
    Thanks,
    Melody

    Some of my suggestions:
    You can just check bpel stats for checking how much exactly it took for Business rules.
    Hello Melody,
    Can you also let us know your test case? I tried performance test with Oracle Business Rules (file/webdav both), and results were pretty good (http://chintanblog.blogspot.com/2008/05/custom-decision-service-i-am-not-very.html)
    Regards,
    Chintan

  • Calling session bean's business method through web dynpro component

    Hi All,
    Can anybody tell me how to call a session bean's methods through a web dynpro WITHOUT java-model or web service model ??
    I have following scenario:-
    1. Stateless Session bean having two business methods
    2. Web Dynpro component
    3.Now i want to call business methods without using any model. I have got following piece of code but I dont know how to go about it.
    4.Where do i have to set JNDI name for session bean? which interface will be looked for?
    5. Do I have to declare public part for EJB DC? If yes, how?
    //This is inside web dynpro component
    InitialContext   context = new InitialContext();
    o = context.lookup(JNDIName);
    TestSessionbeanHome homeRef = (TestSessionbeanHome) PortableRemoteObject.narrow( o,                                                                               
    TestSessionbeanHome.class);
    TestSessionbean beanRef = homeRef.create();
    <returnValue> = beanRef.<ejb method name>
    Please help to get a step-by-step approach to this case.
    Thanks and regards,
    Amey Mogare

    Hi,
    If  I comment out the part that is using session bean's business method, DC is building fine.
    And if I uncomment, then compiler is unabl eto resolve business method(s).
    And i would like to mention that my EJB + J2EE App DC is building properly, but it havent yet deployed properly as I am waiting for data-source-alias name prefix to be configured by ERP team. So will this be a reason why Web Dynpro DC is not able to resolve business methods ??
    Because Web Dynpro DC is able to resolved all interfaces of Session bean and entity bean. But when it comes to business method, its not able to resolve.
    Any more ideas why it is not happening?
    Pls help.
    Now i went through some forum posts regarding this and found that we also need to add EJB DC to Java Build Path for WebDynproDC>Properties>Java Build Path.
    I did this and now it is able to resolve business methods and DTOs as well. So to summarize I did following:-
    1. Added EJB DC (complete DC) as a Used DC to Web Dynpro DC with Buid-n-Deploy-n-Run time dependency
    2. Added Sharing reference of J2EE application DC to Web Dynpro DC -->Properties
    This reference I constructed as follows:-
    <vendorname>/<name of j2ee application as appearing under display name tag in application.xml (replacing '/' with '~')>
    So my Sharing Reference becomes:- <vendorname>/reqpstapscreqpstapja_reqid
    3. Added EJB DC to Java Build Path in Web Dynpro DC's properties
    4. Then I added following piece of code to get object of SessionBean class
    InitialContext context = new InitialContext();
    Object o = context.lookup("java:comp/env/ejb/SessionRequestIDBean");
    SessionRequestIDHome homeRef = (SessionRequestIDHome) PortableRemoteObject.narrow(o, SessionRequestIDHome.class);
    SessionRequestID beanRef = homeRef.create();
    beanRef.<business method>
    But After doing this I am facing another problem :-
    The build fails saying it is not able find the package for DTOs. But when I see the Component Controller's code it is not showing any red or yellow marks.
    Can anybody pls help me out here?
    Thanks and regards,
    Amey Mogare

  • An exception occurred during the call of a business method

    An unexpected exception occurred during the call of a
    business method...Im calling the business object thru the business Delegate.Im calling the business method with an argument as hash table .. And Im using Oracle 9i application server.. Hash table contains data packed in the form of xml...
    The exception thrown is
    java.lang.IndexOutOfBoundsException int java.io.ObjectInputStream.read(byte[], int, int) ObjectInputStream.java:1808 void oracle.xml.io.XMLObjectInput.ensureCapacity(int) XMLObjectI nput.java:347 byte oracle.xml.io.XMLObjectInput.peekByte() XMLObjectInput.java :163 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1800 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLElement.readExternal(java.io.ObjectI nput) XMLElement.java:1574 int java.io.ObjectInputStream.inputObject(boolean) ObjectInputS tream.java:1212 java.lang.Object java.io.ObjectInputStream.readObject(boolean) ObjectInputSt ream.java:386 java.lang.Object java.io.ObjectInputStream.readObject() ObjectInputStream.ja va:236 void java.util.Hashtable.readObject(java.io.ObjectInputStream) H ashtable.java:799 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) native code boolean java.io.ObjectInputStream.invokeObjectReader(java.lang.Objec t) ObjectInputStream.java:2214 int java.io.ObjectInputStream.inputObject(boolean) ObjectInputS tream.java:1411 java.lang.Object java.io.ObjectInputStream.readObject(boolean) ObjectInputSt ream.java:386 java.lang.Object java.io.ObjectInputStream.readObject() ObjectInputStream.ja va:236 java.lang.Object com.evermind.server.ejb.EJBUtils.cloneObject(java.lang.Objec t, com.evermind.server.ejb.AbstractEJBHome)

    Carol,
    The file is not being read by the programmer.
    The problem seems to be coming when the code tries to return from an ejb call A hashtable is returned while coming back. In this hashtable, the data is present in the form of XML DOM Object(oracle implmentation, because oracle xml development kit is used). I think this exception is coming when EJB tries to serialise the object to send it back.
    So, this exception is compeletely stemming from internal classes of Oracle
    The code is part of a web project.
    regards,
    Amol Behrani

Maybe you are looking for

  • Re-installing OS, need help with applications

    I just got my iMac G5 desktop back from the shop today after having the hard drive repaired. Fortunately, I am good about doing my backups, but I have never had a total hard drive failure before on a Mac. I don't want to go through the bother of re-i

  • Storing documents with BDN to content server

    Hi, Could anyone please tell me if it is possible to store documents to a content server using BDN (transaction OAOR)? So far I can only store documents to the R3 database. In the Archive Link customizing the link table should be updated with the rig

  • Max resolution the iMac can support

    Hi kids, I'm using the desktop extender hack with my 800 and 1.25 iMacs. Right now, I'm using 17 inch monitors(1280x1024). What's max resolution these iMacs can drive? I want to upgrade the monitors to 20inch, 22inch, or maybe even 24inches. Anyone h

  • Help with loadMovie function

    Hello, I have a flash file with a movieclip on the stage - instance name "hold_mc". Currently I am loading an external swf file (named tester.swf) into this movie clip with the following actionScript: loadMovie("tester.swf", "hold_mc"); This works fi

  • SQL Standard vs Enterprise Edition for SharePoint 2013

    Do all SharePoint 2013 BI features come with SQL Server SP1 Standard Edition? Is there any difference if I install SharePoint 2013 on SQL standard edition rather that enterprise edition?