Calling Local Entity Beans from another Application

Hi,
I packaged all my Local entity Beans in 1 single Application (APP1.EAR).
I then I have another Application (APP2.EAR) which is made of Session Beans which require access to the APP1 application.
I'm using this code to achieve this:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "manager");
env.put(Context.PROVIDER_URL, "ormi://<host>/APP1");
context = new InitialContext(env);
... (BeanLocalHome)context.lookup("java:comp/env/ejb/BeanLocal");
I get the Following Exception:
javax.naming.NameNotFoundException: java:comp/env/ejb/BeanLocal not found
1) is there any problem with this code?
2) can local interfaces be accessed by another Application (or can they be accessed only by the same application) ?
Regards.
giuseppe.

Hi ,
thank you for your answer.
I'm still in trouble:
these are the steps:
App1.jar entity beans.
App2.jar Session bean.
I embedded the App1.jar into the App2.ear
dir :
App1.jar
App2.jar
application.xml (added the App1.jar)
then I added this in the ejb-jar.xml deployment descriptor for App2.jar
<ejb-link>../App1.jar#BeanName</ejb-link>
for each entity bean.
But I still get :
javax.naming.NameNotFoundException: java:comp/env/ejb/BeanNameLocal not found
java.lang.Object com.evermind.server.ApplicationContext.lookup(java.lang.String, boolean)
ApplicationContext.java:110
java.lang.Object com.evermind.server.ApplicationContext.lookup(java.lang.String)
ApplicationContext.java:66
java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
What am I missing ??
Thanks.
giuseppe.

Similar Messages

  • Problem in calling single entity bean from other beans

    Hi,
    I am implementing session facade with SUN's J2EE 1.3 deploy tool for JBoss server.
    I have a entity bean UserBean which creates users in database ( create() )and tells if user exists or not ( findByPrimaryKey() ).
    Initially, I had implemented UserBean with remote interfaces. So, any servlet ( my client ) which needed to use UserBean would make a remote call to it. It was used by 5 different servlets.
    Now I am going for Local interfaces. So, I am packaging UserBean with other beans which need it.
    Problem is, if I package UserBean with , say , ChatLogsBean ( Stateless bean ), it works fine. But when I package it with WebLogsBean ( Stateless bean ) also and deploy all beans together, JBoss gives error messages that instances of UserBean are already created.
    How should structure my beans sothat I can avoid these duplication problem ?
    Present flow is as follow:
    Servlet Stateless Bean Other beans
    ChatLogs Servlet --> ChatLogsWrapper --> ChatLogsBean ( Stateless bean ) & UserBean( Entity bean )
    WebLogs servlet --> WebLogsWrapper --> WebLogsBean ( Stateless bean ) & UserBean
    WordLogs servlet --> WordLogsWrapper --> WordLogsBean ( Stateless bean ) & UserBean
    All servlets are packaged into corresponding WARs.
    ChatLogsWrapper , ChatLogsBean ,UserBean are packaged into 'ChatWrapper' JAR.
    WebLogsWrapper , WebLogsBean , UserBean are packaged into 'webWrapper' JAR
    and similarly for WordLogs.
    Any help ?
    Regards,
    Suraj

    I suggest you post to one of the forums on jboss.org. There should not be a problem AFAIK having remote and local interfaces to the same EJB. I assume that you gave these unique names (FooHome/FooLocalHome..etc...) for the home and remote interfaces and declared both in the ejb DD.

  • Calling a session bean from another bean

    Hi,
    Using weblogic server 6.1, I am trying to call a session bean, B, from a session bean A.
    After importing B's package, I have added the following code to A's implementation:
    try {
    Properties h = new Properties(); h.putContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    h.put(Context.PROVIDER_URL, "t3://localhost:7001" );
    Context ctx = new InitialContext(h);
    Object tempHome = ctx.lookup(JNDI Name of B);
    BHome home;
    home = (BHome)javax.rmi.PortableRemoteObject.narrow(tempHome, BHome.class);
    catch(Exception e){...}
    I can compile the code successfully but when I run it,I get an error saying:"java.lang.NoClassDefFoundError: B.BHome"
    Can someone please tell me where I am going wrong?
    Thanks in advance,
    Fauzia

    I haven't used that web server but I have had the same kind of problem with ours.
    My guess is that you are compiling this in an environment where the home class is in the classpath. When you run it, though, this class cannot be resolved. Usually we have this problem when the class that is trying to get the bean is unable to find the remote jar.

  • Unable to use Class Designer when deriving Entity Bean from another class

    I have several Entity Beans that have common fields. In order to maximise reusability, I have defined a base class which contains these common fields and corresponding get/set methods on these fields.
    In the next step, I build an Entity Bean using JDeveloper. I then go to Source Editor and in the Bean class, modify the Java code to inherit from this base class that I have defined. I then try to go to Class Designer expecting to see the inherited fields as well.
    However, this is the error I get :
    "Error while trying to parse source file...."
    Any pointers on resolving this would be a great help ! Thanks !!!
    -Andre
    null

    If you're running >Java 1.4, you'll need to put your classes into a package since Tomcat can no longer import the class 'BeanProdess' which is in an unnamed namespace.
    Your JSP is compiled into a class (in the package org.apache.jsp) that doesn't recognize anything in the default package.
    Here's a reference if you want to read about this.
    http://java.sun.com/j2se/1.4/compatibility.html#incompatibilities1.4

  • Help with exception calling cmp entity bean from session bean

    Hi,
    I know someone else posted a very similar problem recently but I think the root of my problem may be different.
    This is the exception that I receive:
    javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806 completed: Maybe
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:114)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    at itsthes.security.servlets.SecurityUserListView.processRequest(SecurityUserListView.java:80)
    at itsthes.security.servlets.SecurityUserListView.doGet(SecurityUserListView.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
    at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
    at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
    at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
    Caused by: org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806 completed: Maybe
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at com.sun.corba.ee.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:94)
    at com.sun.corba.ee.internal.iiop.LocalClientResponseImpl.getSystemException(LocalClientResponseImpl.java:120)
    at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:133)
    at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    ... 17 more
    This is my primary key implementation:
    public final class SecurityUserKey implements java.io.Serializable {
    public java.lang.Integer userId;
    public java.lang.Integer roleId;
    public java.lang.String emailAddress;
         * Creates an empty key for Entity Bean: SecurityUser
         public SecurityUserKey() {
    * @see java.lang.Object#equals(java.lang.Object)
    public boolean equals(java.lang.Object otherOb) {
    if (this == otherOb) {
    return true;
    if (!(otherOb instanceof itsthes.security.entitybeans.SecurityUserKey)) {
    return false;
    itsthes.security.entitybeans.SecurityUserKey other = (itsthes.security.entitybeans.SecurityUserKey) otherOb;
    return (
    (userId==null?other.userId==null:userId.equals(other.userId))
    (roleId==null?other.roleId==null:roleId.equals(other.roleId))
    (emailAddress==null?other.emailAddress==null:emailAddress.equals(other.emailAddress))
    * @see java.lang.Object#hashCode()
    public int hashCode() {
    return (
    (userId==null?0:userId.hashCode())
    ^
    (roleId==null?0:roleId.hashCode())
    ^
    (emailAddress==null?0:emailAddress.hashCode())
    My entity method invocation is this:
    public Collection findUserRoles() {
    Vector userCollection=new Vector();
    try {
    Context jndiContext = new InitialContext();
    LocalSecurityUserHome home = (LocalSecurityUserHome) jndiContext.lookup(this.securityUserBean);
    Iterator i = home.findAll().iterator();
    while ( i.hasNext() ) {
    LocalSecurityUser securityUser = (LocalSecurityUser)i.next();
    SecurityUser sessionBean=mapLocalSecurityUser(securityUser);
    userCollection.add(sessionBean);
    } catch (javax.naming.NamingException e) {
    System.err.println(e);
    } catch (javax.ejb.FinderException e) {
    System.err.println(e);
    return userCollection;
    If anyone could point me in the right direction that would be great.
    thanks,
    William

    Hi,
    The Transaction Rollback exception may be due to the SystemException thrown in your findUserRoles() code which force the container to rollback the transaction. catch the generic exception in your findUserRoles() code and veriy what went wrong.
    i hope this helps.
    -ram

  • Error while calling local session bean from session facade

    Hi Everybody,
    I was to execute example of session facade pattern. All the files compile properly, but when ejbc command is run, i get the following error:
    ERROR: Error from ejbc:
         In EJB *MANAGER, method create() exposes local interface types or local home interface types through the remote home interface of the bean. This is not allowed.
    ERROR: Error from ejbc:
         In EJB *MANAGER, method remove(java.lang.Object) on the home interface does not throw java.rmi.RemoteException. This is a required exception.
         In EJB *MANAGER, method create() on the home interface does not throw java.rmi.RemoteException. This is a required exception.
    ERROR: Error from ejbc: In EJB MANAGER, the home interface be.telenet.sso.servicelayer.ebiz.ManagerHome must extend the javax.ejb.EJBHome interface.
    ERROR: ejbc found errors
    Thanks
    Amit

    If you are looking a local interface up through JNDI, try using the "java:comp/env" namespace. Also, if you post these questions here about EJB, say what vendor you are using because this stuff is pretty new and there will be differences/bugs/etc.

  • Calling a java webservice from another application say a Vb client

    Hi,
    I have written a simple web service which greets the user "Hello" and using Apache axis and deployed on Tomcat.Everything works fine.
    But lots being said about interoperability but right now i cannot appreciate that as i don't know how to call my webservice written in java to be called from say a VB application or a component running on IIS server.
    Can anyone write a small snippet of code to do that..
    Your help is highly appreciated...
    thanks
    vasubabu bathina

    Hi,
    Thanks for your reply but i am looking for something more.Like how to get the WSDL file from my webservice and writing a simple clinet application accessing the webservice written using Apache Soap.

  • Calling a bounded task flow (that uses fragments) from another application

    Hello,
    I'm currently having difficulties calling a task flow located inside another application.
    I have application Console which is my main application in which I would like to run other applications within. Inside this Console I have it divided into splitter windows and inside them I have regions. My goal is to be able to call a task flow from another application inside one of these regions but so far I'm having no luck.
    My first problem occurred when I created a 'local' task flow to make a call to another application's task flow. When I set the properties to the task flow call, it gave me an error that it could not find the .XML file for that task flow when I ran the Console application. I then proceeded to copy that .XML from the remote application into the Console's WEB-INF directory and I seemed to get a bit farther. The error I get now is saying that I cannot run a task-flow that uses fragments. It's essentially trying to run that task flow as an entirely new page instead of inside the region that it's bound to. It's NOT a dynamic region (although that's the end goal here). So I then changed the other application's task flow to simply display an entire page rather than fragments inside a region and voila, it works..... kind of.
    To recap how I was able to call another application's task flow inside the Console:
    - I had to manually copy the task flow xml file into the Console WEB-INF directory
    - I had to change the task flow so that it didn't use fragments
    - I have called the task flow but I lose my console page entirely, no more regions or splitters so I'm back to square one.
    If anybody has any suggestions, hints, tips or anything, send them this way and I will be forever greateful.
    Thanks,
    Mark

    Thanks for your response Frank.
    Unfortunately the problem seems to be greater than that. I've been able to package task-flows into a jar library and tried importing them that way with no luck.
    I'm simple trying to call an external task-flow to run inside a region which is inside a splitter panel that I call my console.
    Any other ideas ?

  • How to call Oracle form .from another application like VB 6.0

    Dear ALL,
    I want to call oracle(Developer) form ,from another application (VB 6.0).I want to call the form in such
    a way that user dont need to enter login and password.I will hard code the username and password
    in my VB 6.0 application.User only press a button on Visual Basic 6.0 form and and that button will
    open required Orcale form.How can I DO this.PLEASE HELP............
    Regards

    You have the command in VB 6.0 to run any exe files right (I think it is the system command). Next to that command place the following code to run your forms application
    ifrun60.EXE <forms.fmx with complete path> userid=<username>/<password>@<connection string>.
    Regards,
    Senthil .A. Perumal.

  • Calling application form from another application form

    hi
    I am working on application forms in SAP-ISU. I wanted to call one application form from another application form. Please help me.
    Regards,
    suresh
    [email protected]

    Hi,
    Suppose there r 2 applications X and Y.  There will be 1 programe associated with each applications.
    We have to change the programe of 1 application and call 2nd programe in the 1st programe using SUBMIT keyword.
    Reward points if useful.
    Regards
    (YUGANDHAR.P)

  • Calling a Taskflow present in one App using a url from another Application

    Hi,
    I a have a requirement to call a taskflow present in another Application using a url from present JDEV Application.
    Is that possible in JDEV 11g? Can anyone give me an example.
    Thanks,
    User
    Edited by: user617801 on Feb 24, 2009 11:24 AM

    Hi,
    Check out this example . It is for TP4, but it should be the same on WLS.
    Pedja

  • Initialize a stateful session bean from another

    Hi,
    I am trying to create and initialize a stateful session bean from another stateful session bean. The code is as follows
    This method belongs to DefaultSessionBean where it creates the AdminSessionBean based on few checks and returns it to the client.
        public AdminSession getAdminSession() throws UnknownException, WarningException {
            checkSessionUser("getAdminSession");
            if (isAdmin()) {
                AdminSession adminSession;
                try {
                    final Context context = IToolsUtil.getInitialContext();
                    adminSession = (AdminSession)context.lookup("AdminSession");
                    System.out.println("Successfully created the adminsession bean");
                } catch (NamingException ne) {
                    ne.printStackTrace();
                    throw new UnknownException (new CatalogHelper("ITOOLS_100019", new Object[]{"Admin", ne.getMessage()}));
                System.out.println("adminsession will be returned");
                return adminSession;
            } else {
                throw new WarningException (new CatalogHelper("ITOOLS_000042", sessionUser.getUserhandle()));
        }Another method in DefaultSessionBean, creates its local interface and returns it.
        public DefaultSessionLocal getDefaultSessionLocal() {
            DefaultSessionLocal dsl = (DefaultSessionLocal)context.getBusinessObject(DefaultSessionLocal.class);
            System.out.println("local created.");
            return dsl;
        }Client call initialize method of the AdminSessionBean which is mentioned below:
        public void initialize(DefaultSession ds) throws WarningException, UnknownException {
            this.ds = ds.getDefaultSessionLocal();
            this.rfl = ReadFieldList.getInstance();
            this.fm = new FinderMethods();
        }The client code where it gets the adminSession and initializes is
       public static AdminSession getAdminSession(DefaultSession ds) throws ViewException {
            AdminSession as;
            try {
                as = ds.getAdminSession();
                System.out.println("got admin session");
            } catch (WarningException we) {
                 we.printStackTrace();
                throw new ViewException(we.getCatalogHelper());
            } catch (UnknownException ue) {
                ue.printStackTrace();
                throw new ViewException(ue.getCatalogHelper());
            } catch (OracleRemoteException ore) {
                ore.printStackTrace();
                throw new ViewException(new CatalogHelper("ITOOLS_050003", ore.getMessage()));
            // Initialize Admin Session
            try {
                System.out.println("before getting it.");
                as.initialize(ds);
                System.out.println("adminsession is initialized");
            } catch (WarningException we) {
                as.remove();
                as = null;
                throw new ViewException(we.getCatalogHelper());
            } catch (UnknownException ue) {
                as.remove();
                as = null;
                throw new ViewException(ue.getCatalogHelper());
            } catch (OracleRemoteException ore) {
                as.remove();
                as = null;
                throw new ViewException(new CatalogHelper("ITOOLS_050003", ore.getMessage()));
            System.out.println("got admin session");
            return as;
        }Apart from this I am using OC4J 10.1.3.1 tool test my application.
    When I am calling initialize method of the AdminSession I am getting the following error.
    06/10/24 12:26:08 Entered
    06/10/24 12:26:08 got default session
    06/10/24 12:26:08 Successfully created the adminsession bean
    06/10/24 12:26:08 adminsession will be returned
    06/10/24 12:26:08 got admin session
    06/10/24 12:26:08 before getting it.
    2006-10-24 12:26:08.156 WARNING J2EE RMI-00009 Exception returned by remote server: {0}
    06/10/24 12:26:08 com.itools.vs.view.exception.ViewException
    06/10/24 12:26:08      at com.itools.vs.view.util.ViewUtil.getAdminSession(ViewUtil.java:71)
    06/10/24 12:26:08      at com.itools.vs.view.backing.Admin.CreateUser.submit_action(CreateUser.java:182)
    06/10/24 12:26:08      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    06/10/24 12:26:08      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    06/10/24 12:26:08      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    06/10/24 12:26:08      at java.lang.reflect.Method.invoke(Method.java:585)
    06/10/24 12:26:08      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    06/10/24 12:26:08      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.AjaxActionComponent.broadcast(AjaxActionComponent.java:88)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:250)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:405)
    06/10/24 12:26:08      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    06/10/24 12:26:08      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    06/10/24 12:26:08      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    06/10/24 12:26:08      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
    06/10/24 12:26:08      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:67)
    06/10/24 12:26:08      at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:223)
    06/10/24 12:26:08      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    06/10/24 12:26:08      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    06/10/24 12:26:08      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    06/10/24 12:26:08      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    06/10/24 12:26:08      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
    06/10/24 12:26:08      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    06/10/24 12:26:08      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    06/10/24 12:26:08      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    06/10/24 12:26:08      at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    06/10/24 12:26:08      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    06/10/24 12:26:08      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    06/10/24 12:26:08      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    06/10/24 12:26:08      at java.lang.Thread.run(Thread.java:595)
    06/10/24 12:26:08 ITOOLS_050003: Failed to get Admin Session.
    Exception is "Error marshalling objects, Not Serializable: java.io.NotSerializableException: DefaultSession_RemoteProxy_6nein01; nested exception is:
         java.io.NotSerializableException: DefaultSession_RemoteProxy_6nein01".
    [b/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Your remote client passes a DefaultSession to AdminSession.initialize(..). This DefaultSession has to be a remote type. In your client, how does it get DefaultSession?
    Did your client look up DefaultSession, and have it return a (sessionContext.getBusinessObject(DefaultSession.class))? If so, it should work.

  • BC4J DAOs vs. Local Entity Beans

    We are beginning a brand new project and trying to evaluate the costs/benefits of using BC4J entity objects versus local entity beans for our persistence needs.
    I've read the "Simplifying J2EE and EJB Development with BC4J" white paper including the "How Does EJB 2.0 Change the Picture?" section, but that seems to have been written at a time when EJB 2.0 support was a rarity.
    I'd like to get some feedback from people who have had experience with both. We are basically starting this application from scratch, although we have relational tables from our legacy C++ application that will serve as the basis for the Java object model. So what would we gain/lose by using entity objects?
    I must admit, I'm leaning toward using entity beans over a vendor-specific persistence framework, but if there are compelling reasons to choose entity objects (besides those mentioned in the white paper), I'd like to hear them. Please speak slowly, as I'm new to BC4J. :)
    Thanks for your time.

    I've read the "Simplifying J2EE and EJB Development with BC4J" white paper including the "How Does EJB 2.0 Change the Picture?" section, but that seems to have been written at a time when EJB 2.0 support was a rarity.IMO there's no change.
    What Sun doesn't tell you in the specs, but is much talked about on theserverside.com and in most
    anti-patterns threads, and in the up coming book J2EE Anti-Patterns; EJB Entities are basically
    broke with no solution. Reason: EjbStore() can throw an exception due to DB constraint violation
    after the business method returns. This drives the scenario where all business integrity is
    forced up into the middle tiers (EJB and business mediator tiers). etc etc ... EJB Entities are
    useful for the 5% to 1% of a business model and application that is transactional IMO.
    I.E. 95%++ of most apps/web sites are read only. Why use a heavy and expensive transactional
    component for reading rows from a DB to be displayed on an Inventory screen? The only reason
    to do this is if you have stock in Sun and your appserver vendor or want your project to last
    forever or get canceled. -- Seriously, do your home work, using Entities as your persistance
    tier mediator, for the 95% of your project that's read only, and for reports which involve
    joins, select criteria etc etc will be a serious problem to just code and even bigger problem
    to be responsive and scalable.
    Do this experiment: implement a report that joins several tables, selects on where criteria,
    orders by some attribute in EJB Entity bean technology. Seriously try to code this solution.
    Hint: spray water on your appserver box since it'll almost explode. :)
    Then try: do the same report in SQL. One SQL statement usually will do it and it's all in the
    DB. The data returned to the middle tier is ready for JSP formating.
    Try another EJB experiment: implement a finder based on criteria that returns a Collection.
    Do the same in SQL: time the perf difference.
    Hint: Maybe you're getting the picture, that EJB Entity 2.0 --> 10.0 what-ever, never wrote into
    the specs any means for joins, or high perf finders based on criteria.
    My opinion and experience: EJB Entity is good for one portion of a project if that; the single
    part that's transactional (usually the shopping cart or similar). All other data access needs
    to be through a DAO tier that's SQL based. With BC4J you get transactional support too, so
    why bother with EJB, except to be wrapped by SLSB's for remotability from the client.
    I'd like to get some feedback from people who have had experience with both. We are basically starting this application from scratch, although we have relational tables from our legacy C++ application that will serve as the basis for the Java object model. So what would we gain/lose by using entity objects? I'm at the end of phase one of a medium scale BC4J project which was initiated after scrapping
    a Sun Blueprint J2EE 1.2 architecture for the above reasons, plus the unmentioned time to market
    issue. We found hand coding the Sun architecture to be 400% slower, if you don't hit any of the
    above mentioned bumps in the road. We never got to reports, which would have been imposible without
    custom DAOs.
    I must admit, I'm leaning toward using entity beans over a vendor-specific persistence framework, but if there are compelling reasons to choose entity objects (besides those mentioned in the white paper), I'd like to hear them. Please speak slowly, as I'm new to BC4J. :)You're not the first to ask this question nor the last. Sun's happy talk in the face of their
    king has great cloths sell job to fend off .net will take more than just J2EE Anti-patterns books
    to displell. Try the reports and finders experiements in EJB 2.0. You'll no doubt learn alot
    and read more news group posts in the process.
    Heck, you might even discover that 903 oc4j's CMR and EQL can instantiate 1000's of Entity beans,
    JNDI entries, return a Collection of handles, your client get the ValueObjects and build a report
    in less than a minute and 100's of customers can do this simultanteously. __NOT__ :)
    Cheers,
    curt

  • Monitoring EJB from another application

    Hi!
    Let's say: We have some EJB deployed of Application Server. Each EJB (doesn't metter if session or entity) has its methods that can be called. (All EJB are in the same application)
    Can I from another application see what methods has been called and at what time? I can extend monitored application with its log files, but want to use application to be monitored as is.
    I guess it depends on Application Server functionality. I would like to do it on SUN reference implementation (from J2EE SDK). If there is another App Server (the best free one) please note.
    I would be very thankfull for any answer.
    Marcin

    You could use the opensource EJB-container JBOSS and modify the source to perform logging of when a particular method was called etc.
    This will enable you to run the application as is with no modifications.
    Morten.

  • Problems accessing ejb 3.0 entity bean from project

    I have written some code using ejb 3.0 and was previously accessing the entity bean without problem when both ejbs and the accessing code were in the same project. However I have moved the accessing code into a different project within the same application and now when the code tries to accessing the entity bean I get the following error:
    com.colwilson.web.ingestion.IdentifiedException: java.lang.ClassCastException: __Proxy3
         at com.colwilson.web.ingestion.IngestionHandler.recordArrived(IngestionHandler.java:140)
         at com.colwilson.web.ingestion.IngestionHandler.main(IngestionHandler.java:52)
    Caused by: java.lang.ClassCastException: __Proxy3
         at com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.getFreshObject(StatelessSessionRemoteInvocationHandler.java:21)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.getReplacementObject(RecoverableRemoteInvocationHandler.java:64)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.handleRecovery(RecoverableRemoteInvocationHandler.java:41)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:30)
         at com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(StatelessSessionRemoteInvocationHandler.java:43)
         at __Proxy1.mergeEntity(Unknown Source)
         at com.colwilson.web.ingestion.IngestionHandler.recordArrived(IngestionHandler.java:137)
         ... 1 more
    Now, of course I could move the code back into the same project, but as I understand it that is just the point of ejbs. I'm looking up the entity bean thus:
    final Context context = InitialContext();
    ingestionSessionEJB =
    (IngestionSessionEJB)context.lookup("IngestionSessionEJB");
    It may be true that I don't understand the way lookup works, but to be honest I can't find the docs that explain what I've got wrong.
    Please help.

    hi
    Double Click on the project which is goin to use the project which contains bean from the Application Navigator window. The project properties window will open. Choose the "Dependencies" item from left panel. click on the radio "User Project Settings" and select another project which contain ejb which you're goin to access...
    Best Of Luck
    Ravi A. Trivedi

Maybe you are looking for

  • DSC Alarm Setup - what went wrong?

    I have a DSC application reading +- 1100 NI OPC tags into SVE from four different PLC's.  While I do engineering I move the application between two PC's depending on which one is avalable at the time to do engineering.   The Citadel database has the

  • Mapping to printer

    My network requires I use Z: for other things.  Currently Z: is mapping by default to my HP printer.  I'm assuming the printer has a share established for the mapping to occur, but how do I change the drive to something other than Z: ?  What is the s

  • Reveral of an accrual entry

    Hi Experts, We entered an accrual document using T-Code FBS1 and mentioned the reason code and the reversal date. So does the reversal document gets entered automatically or do I have to reverse again manually. If so, what is the T-Code to carry out

  • Help w/new Ipod

    So I've tried syncing my new iPod to my iTunes and restored it so that it has everything that I had on my old iPod. The only problem is that it will only download the music that I've purchased from iTunes on it, nothing else like CDs. Any ideas as to

  • Foo extends ListBase bug !!! Serious !!!

    hi, listbase changed in sdk build 19786, 19786 + post like not released 20135 which is included in the prerelease flashbuilder override protected function partAdded(partName:String, instance:Object):void         super.partAdded(partName, instance);