Lookup (2 Beans on diffrent applications)

Hi
Programs: J-Developer902, Oracle9i AS
The Proplem : I have 2 beans on 2 different .ear applications, one bean on each .ear .
I'm trying to do Lookup from Bean 1 on the first application, to Bean 2
on the second application, without any success!!! What am I doing wrong?
The intialcontext I'm using is com.evermind.server.rmi.RMIInitialContextFactory
wich is the one to use when having 2 different applications (.EAR), which is my case.
Deployment : Bean 1 : myFirst.deploy, myFirst.jar, myFirst.ear
Bean 2 : mySecond.deploy, mySecond.jar, mySecond.ear
Here is how my Lookup looks like in my code.
_________ Clinet doing Lookup on Bean 1 ___________(It works without any problem)
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, "admin");
env.put(Context.PROVIDER_URL, "ormi://IS002/myFirst");
Context ctx = new InitialContext(env);
MyFirstEJBHome myFirstEJBHome = (MyFirstEJBHome)ctx.lookup("MyFirstEJB");
MyFirstEJB myFirstEJB;
__________ Bean 1 doning Lookup on Bean 2 _______________
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, "admin");
env.put(Context.PROVIDER_URL, "ormi://IS002/mySecond");
Context ctx = new InitialContext(env);
Object boundObject = ctx.lookup("MySecondEJB");
MySecondEJBHome mySecondEJBHome =
(MySecondEJBHome) PortableRemoteObject.narrow( boundObject, MySecondEJBHome.class);
________ ERROR _________
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Unknown Source)
at javax.rmi.PortableRemoteObject.narrow(Unknown Source)
at mypackage1.MyFirstEJBBean.callSecond(MyFirstEJBBean.java:47)
at MyFirstEJB_StatelessSessionBeanWrapper10.callSecond
(MyFirstEJB_StatelessSessionBeanWrapper10.java:79)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:118)
at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
What am I doing wrong??? Why can't my first Bean find the second Bean ?
I'll be thankful if somebody could help me!!
/Azam Roomi
Integration Strategies & Solutions

Azam,
You are hitting a classloader problem. I suggest you upgrade to
the latest JDeveloper version (9.0.3 -- available for download
from Oracle's "Technet" website). Then read the following:
http://otn.oracle.com/products/ias/tech_tips/oc4jTech_tip_0218.html
http://otn.oracle.com/docs/products/ias/doc_library/903doc_otn/generic.903/a97677/advanced.htm#1004903
http://kb.atlassian.com/content/atlassian/howto/classloaders.jsp
http://kb.atlassian.com/content/orion/docs/remote-access/remote-access.html
http://www2.theserverside.com/resources/article.jsp?l=AdvancedClassLoading
http://www2.theserverside.com/resources/article.jsp?l=ClassLoading
(Of-course, I'm assuming you haven't already read the above.)
Hope this helps you.
Good Luck,
Avi.

Similar Messages

  • How to lookup a bean from a standalone app.

    I've got the following question..
    I've created a stateless sessionbean and deployed it in the J2EE Server 1.3.1. (That one you get from Sun when you download the J2EE SDK) I've created a client for my bean, and when i execute it with the 'runclient -client my.ear -name myclientclass' command, it works just fine.
    But, i now want to run it as a standalone application, without the 'runclient' command. I am able to create an initialcontext (without any properties), but my bean can not be found in 'java:comp/env/ejb/bean' (the same name i use with the 'runclient' command, so the bean should be there). My guess is that i should add some initial context properties, but which ones? All the examples i can find are with ldap context factories. Can anyone give me any advice on how to connect to the J2EE server and lookup my bean?
    Thanks in advance.
    Nick

    Hi,
    You could write something as below
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
    env.put(Context.PROVIDER_URL, "jnp:localhost:1099");
    env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
    try {
    Context ctx = new InitialContext(env);
    Session_LocalHome session_lh = (Session_LocalHome) ctx.lookup("Session_Home");
    Session_ session_ = session_lh.create();
    OR
    Use a jndi.properties file which would have the same entries as above, please search over internet and find out what to include in it.
    One more thing to note is, in above example i said
    env.put(Context.PROVIDER_URL, "jnp:localhost:1099");
    meaning the lookup is on port 1099, this is not same for all the servers. Check your server documentation and find out " What is the port number on which your server listens ? "
    Regards
    Meka Toka

  • How to lookup EJB3 beans using JNDI names without defining ejb-ref in DD?

    Hi Kenneth,
    I am just continuing the topic:
    How Lookup SLSB from other SLSB? <HELP>
    http://forum.java.sun.com/thread.jspa?threadID=5117484&tstart=0
    (my original forums account failed, so I am using new one)
    if I am not seeking portability I should be able to lookup a bean directly through JNDI without using the ejb-ref. (I just want to see how it can be done)
    http://forum.java.sun.com/thread.jspa?forumID=13&threadID=751907
    http://www.theserverside.com/discussions/thread.tss?thread_id=16402
    I am using SJSAS PE 9.0 I am failing to lookup my beans from other beans directly without ejb-ref.
    Is there some sample code to look at?
    Thanks!

    Global JNDI names are vendor-specific and not known until deployment time. That is one
    of the main reasons the Java EE component environment model defines a level of
    indirection for accessing component dependencies. It is best to use either an ejb-ref
    or @EJB annotation when accessing EJBs from a Java EE component.
    If you choose not to, you just have to make sure the global JNDI name you use matches
    the one assigned to the target EJB. We have a lot of information on how this works
    in our EJB FAQ.
    https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html
    If you're still encountering an error, please provide more specifics about your application,
    the code you're using for the lookup, and the error message you're receiving. Just
    saying "my looking fails" doesn't help us diagnose the problem :-)
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Can't lookup session bean in MBean and ApplicationLifeCyleListener

    Hi,
    i am migrating an application with mbean from OC4J to weblogic 10.3.2.
    as my application don't have a web module. i try to use the ApplicationLifeCycleListener
    to register the mbean (instruction from this oracle document page:
    http://download.oracle.com/docs/cd/E12839_01/web.1111/e13729
    /instmbeans.htm#i1099957).
    i register the mbean in the ApplicationLifeCycleListener.postStart method, but in the
    mbean's method (which is called by a javax.management.timer.Timer, created in the
    MBeanRegistration.postRegister method), i can't lookup the session bean.
    (i try to lookup the session bean in the ApplicationLifeCycleListener.postStart method, it fails too)
    if i register the mbean in a ServletContextListener, there is NO problem that i can
    lookup session bean in the mbean's method.
    why there is inconsistence in registrating mbean by servlet context listerer and by
    applicationlifecyclelistener???
    can anybody tell me the solution???
    is it impossible to call session bean in the MBean's method if the mbean is registered
    in the ApplicationLifeCycleListener ???
    *** i want to call a session bean's method periodically through the timer ***
    thank you very much.

    gimbal2 wrote:
    r035198x wrote:
    I put the interfaces in a separate XX-si-jar file always.
    The implementation jar then depends on that service interface jar which gets deployed on both the client and the server.
    This way I can distribute my si without including implementation which I can change without needing to affect the clients.Yeah, that seems like the only real solution to me. Using Maven it shouldn't be that hard to manage either now that I think about it. Did you ever get into trouble with a client being based on an outdated interface jar? I can imagine that it can be a bit of a release management drama to keep these things synced.Interface changes when they did happen resulted in full redeployments because the client usually has to change anyway to use the changed functionality. Most interactions are through static interfaces so this doesn't arise too much.
    In volatile interactions, a common approach is to define a generic interface EJB whose implementation can delegate the calls to other (potentially future) services. The problem with this is that return types have to be simple.
    >
    It's one of the reasons why I'm not a fan of optional interfaces in 3.1.Well the optional part is optional ;) To me it is a very useful addition since I usually only deal with local interfaces when I use EJB technology. I always found it a bit of a bother to HAVE to create an interface also, I welcome the change.It is handy to be able to roll out an app with a few classes all bundled in one deployment file if there is no requirement for multiple implementations of an interface or for remote invocation support.
    I just feel that it's a lot of flexibility to sacrifice when doing the interfaces is not really a lot of effort with today's development tools.

  • How to deploy java bean in Oracle Applications?

    There is a Oracle Applications Forms FNDMNMNU.fmb which calls a Java Bean to show TreeView.
    The Bean Area uses the implementation class of AppletAdapter.class. Do you know that we have to use the same AppletAdapter class so that we can connect to Oracle database?
    In the form of FNDMNMNU.fmb, the java bean is called like this.
    fndaplt.applet_init('FND_MENUS.TREE_VIEWER',
    'FS',
    'oracle.apps.fnd.functionSecurity.client.FunctionTreeViewer',
    l_list_id);
    Do you know what 'FS' means ?
    Thank you very much in advance!
    It is my first time to use Java Bean in Oracle Applications!

    HI srini ,
    my application version 12.0.4 and database is 10.2.0.4
    and i want to restrict the No of users
    exp i have have 500 users and i want restrict to 100 only
    how can i do that please explain
    Thanks,
    Sudheer

  • Prob in IR :Internal error during bean lookup for bean RepObjectAccessBean

    Hi,
        I am facing the problem in IR .
    <b>Internal error during bean lookup for bean RepObjectAccessBean</b>
    is the Error window I am getting frequently, After getting this error, It is no allowing to open any of the IR Objects.
    Thanks in advance,
    Dhanabal T

    Hi Dhanabal,
    i got the same error. But it is clear.
    Please chek once ur configuration part. The error is in configuration part only.
    once check all the steps in ur configuration part.
    REgards,
    chandra.

  • Calling pojo from pojo in diffrent application

    Can i call a pojo in one application from pojo in diffrent application?
    For example:
    Ear 1 had pojo 1
    Ear 2 has pojo 2
    Can i call pojo 2 from pojo 1?
    One option isthat i can make pojo 2 an ejb or servelet can call it from pojo 1.
    Can i call pojos?

    Cross-posted here, where delicious dukes are available.

  • How to lookup a Bean?

    i have successfully deployed an EJB by using J2EE deploytool.
    my source code to lookup the Bean as following:
    Context ctx = new InitialContext(System.getProperties());
    java.lang.Object objref = ctx.lookup("skey");
    home = (SessionKeyHome)PortableRemoteObject.narrow(objref, com.ibm.sessionkey.SessionKeyHome.class);
    i have read serval books and articles,there are different codes for lookuping a bean.Why?and when should we use this or that?
    But i get the error msg:
    Warning: unable to read transaction.interoperability config property
    java.io.FileNotFoundException: /export/home/ass/config/security.properties
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:103)
    at com.sun.enterprise.util.Utility.getPropertiesFromFile(Utility.java:42)
    at com.sun.enterprise.iiop.security.SecurityMechanismSelector.<clinit>(SecurityMechanismSelector.java:102)
    at com.sun.enterprise.iiop.IIOPSSLSocketFactory.getEndPointInfo(IIOPSSLSocketFactory.java:211)
    at com.sun.corba.ee.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:73)
    at com.sun.corba.ee.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:68)
    at com.sun.corba.ee.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:70)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.locateObject(InitialNamingClient.java:769)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.getIORUsingHostInfo(InitialNamingClient.java:597)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.resolveCorbaloc(InitialNamingClient.java:573)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.resolveUsingORBInitRef(InitialNamingClient.java:544)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:1080)
    at com.sun.corba.ee.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:981)
    at com.sun.corba.ee.internal.corba.ORB.resolve_initial_references(ORB.java:2425)
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:52)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120)
    at javax.naming.InitialContext.lookup(InitialContext.java:347).java:23)
    javax.naming.CommunicationException: Can't find SerialContextProvider
    at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:63)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)

    Hi,
    There r two ways to lookup. One is that u specify the provider while running the client. E.g:
    java -D java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
    -Djava.naming.provider.url=t3://localhost:7001
    or alternatively u can specify these two properties in the Properties object of your client. e.g:
    Properties props = new Properties();
    props.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    props.put(Context.PROVIDER_URL,"t3://localhost:7001");
    Context ctx = null;
    Object obj = null;
    try
    ctx = new InitialContext(props);               
    obj = ctx.lookup("HelloJNDI");
    Which method to use is matter of convenience.
    Values of provider url & initialContext will change depending on the app server u r using.
    I hope this will help u.

  • Cannot lookup the bean in JBoss

    I had a entity bean called AddressBean and bind the JNDI name as ejb/entity/AddressBean, but I cannot lookup this bean. The NameNotFoundException is thrown, the exception message is "ejb not bound". Did anyone know what happen with it?
    Hashtable props = new Hashtable();
    props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");
    InitialContext initialContext = new InitialContext(props);
    Object obj = initialContext.lookup("ejb/entity/AddressBean");But I can lookup this bean by using the default JNDI name "AddressBean".

    I've been trying to make a lookup from a remote client.
    I've tried this code
    props.put(InitialContext.PROVIDER_URL, "jnp://10.10.10.10:1099");
    I get the error unknown protocol
    Ofcourse 10.10.10.10 was not the acutal ip address of the machine on which JBoss was running. While running the code i did have the correct ip address.
    Then I tired the approach discussed here
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=63&t=000150
    Now i get a "no protocol" error.
    I have included the jboss-client.jar and the jnp-client.jar in the classpath of the client.
    Can someone help me out with this?

  • Using TableLocking API in Stateless Session Bean through WD application

    Hi All,
    We have develpoed a webDynpro application which involved Jav Dictionary Table.
    We have given UI for Creation, Updation and Deletion of the table.For database connection we have used Stateless Session Bean.
    we have the requirement of Locking the Table record when one user is either editing or deleting the record of Table from UI, so any other user cannot update or delete the same record.
    To implement the above functionality, we have used TableLocking API with lifetime as userSession in the Stateless Session Bean to acquire a Lock for particular record.
    With lifetime as usersession the record should get unLocked automatically, if the session of application is expired and record is not unLocked Explicitly.
    We are calling the Session Bean from Webdynpro application to acquire a lock, When the Dynpro application expires the locked record should get unlocked automatically as the lifetime is defined as usersession,But the record remains unlocked only even after expiration of the application sessionand deadlock occurs for that record.
    So if anyone can suggest the solution for the above problem.
    Or some other method to Lock Particular Record from application.
    Thanks in advance.
    Regards,
    Shruti.

    HI,
    Can you resolve this issue?
    I have the same scenary, could you give me some tips?
    Thanks,
    Freddy F

  • In a single program how to lookup different EJB from different application

    Hi,
    I have deployed two applications app1 and app2 on oc4j.
    There is a stateless session bean in a1 called ejb1.
    And there is also a stateless session bean ejb2 in app2.
    I write a test jsp in app1 to lookup ejb1 and ejb2 as an application client. So I need to create an application-client.xml for it.
    <?xml version="1.0"?>
    <!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN" "http://java.sun.com/j2ee/dtds/application-client_1_2.dtd">
    <application-client>
    <display-name>ejbs</display-name>
    <ejb-ref>
    <ejb-ref-name>ejb1</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>class_of_ejb1Home</home>
    <remote>class_of_ejb1</remote>
    </ejb-ref>
    <ejb-ref>
    <ejb-ref-name>ejb2</ejb-ref-name>
    <ejb-ref-type>ejb2</ejb-ref-type>
    <home>class_of_ejb2Home</home>
    <remote>class_of_ejb2</remote>
    </ejb-ref>
    </application-client>
    However, When I run the test.jsp, It will report following error:
    javax.naming.NamingException: Error reading application-client descriptor: No location specified and no suitable instance of the type 'class_of_ejb2' found for the ejb-ref ejb2
    In fact, if I only lookup any of the ejb and the application-client.xml just specify only the according ejb-ref, everything is alright.
    But how to construct the application-client.xml so that it can suitable for 2 different ejb in different application? Do I miss something in doing it?
    Kindly advice!
    Queeny Tang

    Hi Debabrata Panda,
    I did add parent in web.xml, but it still encounter
    "Error reading application-client descriptor: No location specified and no suitable instance of the type 'class_of_ejb2' found for the ejb-ref ejb2"
    In my program, a jsp in app2 will lookup ejb1 of app1. In the same way, a jsp in app1 will lookup ejb2 of app2.
    if I declare in server.xml
    <application name="app2" path="../applications/app2.ear" parent="app1" auto-start="true" />
    <application name="app1" path="../applications/app1.ear" parent="app2" auto-start="true" />
    That will cause error reading application-client.xml for all
    ejbs.
    How to solve this.
    Thanks in advance!
    Yours Queeny

  • NameNotFoundException in session bean  while running application from jdeve

    hi
    i am getting NameNotFoundException while connection to session bean when i run from Jdeveloper;
    i put ejb.jar.xml and orion-ejb-jar.xml put in classes/META-INF folder;
    in my application index.jsp connects to sessionbean;
    when i run index.jsp i am getting the follo
    [Starting OC4J using the following ports: HTTP=9000, RMI=23891, JMS=9227.]
    C:\j2sdk1.4.2_06\bin\javaw.exe -client -classpath C:\JDeveloper903\j2ee\home\oc4j.jar -Xverify:none -Doracle.j2ee.dont.use.memory.archive=true com.evermind.server.OC4JServer -config C:\JDeveloper903\jdev\system9.0.3.1035\oc4j-config\server.xml
    [waiting for the server to complete its initialization...]
    Embedded OC4J startup time: 4640 ms.
    Target URL -- http://192.168.68.214:9000/1304Release3-etrans-context-root/index.jsp
    Copying default deployment descriptor from archive at C:\JDeveloper903\jdev\mywork\1304Release3.0\EJB\classes/META-INF/orion-ejb-jar.xml to deployment directory C:\JDeveloper903\jdev\system9.0.3.1035\oc4j-config\application-deployments\current-workspace-app\classes...
    Auto-deploying file:/C:/JDeveloper903/jdev/mywork/1304Release3.0/EJB/classes/ (New server version detected)...
    The system is out of resources.
    Consult the following stack trace for details.
    java.lang.OutOfMemoryError
    Error compiling C:\JDeveloper903\jdev\mywork\1304Release3.0\EJB\classes: Syntax error in source
    Log4j Properties file Initialized with Path = C:\JDeveloper903\jdev\mywork\1304Release3.0\etrans\WEB-INF\log4j.properties
    Oracle9iAS (9.0.3.0.0) Containers for J2EE initialized
    No of Hits to this page : 1
    [ERROR   ] ESACLoginController.jsp -- Un Authorised User Not Enough Credentials : ANIL
    [ERROR   ] ESACLoginController.jsp -- Un Authorised User Not Enough Credentials : ANIL
    [ERROR   ] ESACLoginController.jsp -- Un Authorised User Not Enough Credentials : ANIL
    javax.naming.NameNotFoundException: AccessControlSessionBean not found
    at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:130)
    at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:195)
    at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:66)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at ESACLoginController.jspService(ESACLoginController.jsp:89)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
    at java.lang.Thread.run(Thread.java:534)
    wing in jdeveloper console;

    java.lang.OutOfMemoryError
    Set the jdev.conf directive
    AddVMOption     -Xmx512M

  • JNDI lookup, uncheked bean and LoginModule

    Hi people!
    I have stateless session bean with uncheked method permissions.My application use custom login module. When I try to lookup it home interface the container invoke my login module. Why it do so? This is incorrect behaviour, I think. Why container authenticate any jndi-lookup? How can I to get out this behaviour?
    Thanks.

    There are two steps since your ejb client is not a managed bean.
    1) Define an ejb-local-ref in web.xml or a class-level @EJB in some managed class within
    the same .war.
    2) Lookup the dependency by ejb-ref-name or @EJB(name) relative to java:comp/env
    Our EJB FAQ has more detail :
    https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#POJOLocalEJB

  • How can a session scope bean access an application scope bean - help

    Hello,
    I have a JSP page that has references to an Application Scope and a Session Scope bean...
    <jsp:useBean id="myWebApp" scope="application" class="com.my.web.WebApplication" />
    <jsp:useBean id="myWebSession" scope="session" class="com.my.web.WebSession" />
    I would like the WebSession access methods in the WebApplication ... Can/ How does the WebSession object lookup the reference to WebApplication object?

    I don't think you should make the WebSession implement the session listener.
    The session listener will be created once, at the start of the servlet context and would be listening to all sessions. So you would have one instance of the WebSession belonging to the context (though not as an attribute), and others belonging to each session. This will be confusing in your code, I think.
    I would suggest having a different class act as the HttpSessionListener. Perhaps do something like this:
    public class WebSessionInjector implements HttpSessionListener {
      public void  sessionCreated(HttpSessionEvent e) {
        WebApplication webApp = (WebApplication)(e.getSession().getServletContext().getAttribute("webapp"));
        WebSession mySession = new WebSession();
        mySession.setWebApplication(webApp);
        e.getSession().setAttribute("mySession", mySession);
      public void sessionDestroyed(HttpSessionEvent e) { ... }
    }You may be able to use the WebApplication object itself as the listener ...
    Or, you could make the WebSession implement the HttpSessionBindingListener and use the valueBound event much like the sessionCreated event above, but from inside the WebSession object:
    public class WebSession implements HttpSessionBindingListener {
      public void  valueBound(HttpSessionBindingEvent e) {
        WebApplication webApp = (WebApplication)(e.getSession().getServletContext().getAttribute("webapp"));
        this.setWebApplication(webApp);
      public void valueUnbound(HttpSessionBindingEvent e) { ... }
    }

  • 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.

Maybe you are looking for

  • BAPI_SALESORDER_CREATEFROMDAT2 - quanity =0 when consumed& exposed as WSDL

    Dear all, Any help on this is greatly appreciated. We have developed a .NET application that will consumed the create order bapi web services that's being generated from WAS 6.20. ICM is set up and working properly. However, when we executed the .NET

  • Color issues when printing AI files on PostScript

    First off, please forgive me if this is  not the right forum or if I am not using the right terms.  I am the network admin for our company and I'm posting this on behalf of our designer. We recently added PostScript drivers to our Sharp printers, and

  • Unicode Characters in Label/JLabels

    Hi All, Does anyone know how when any unicode characters within a String get transformed into the character they represent? I ask because I'm getting conflicting behaviour depending on whether the String is hard-coded or read from file at runtime. Fo

  • Simple select query is taking a lot of time

    hi gems... my table has 7267563 rows...and i am doing a simple select * from table; but it is taking a lot of time nearly 25minutes but not completed... when i did select count(1) from table then it gave the result instantly also select * from table

  • How  does Down payments against sales orders work?

    Hi Gurus, Can anyone explain me How Down payment against sales orders work? Please give step by step details with configuration. Regards, partha [email protected]