Unable to invoke local interfaces in EJB 2, SJSAS 9 environment

Hi,
I am unable to get SJSAS to register local interfaces for an BMP entity bean. I am new to entity beans, and am trying out a simple case using EJB 2.0 deployed on SJSAS 9. I even had tried setting source level to 1.4, but no luck.
EJB looks ok, as it was verified successfully by netbeans 5. But, I could not find the bean registerd when I verified it through the JNDI Brownsing utiltiy in SJSAS.
I get the error
javax.naming.NameNotFoundException: AccountLocal not found
I have provided ejb-local-ref in web.xml, as shown below
<ejb-local-ref>
<ejb-ref-name>NewAccountLocal</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>entity2.NewAccountLocalHome</local-home>
<local>entity2.NewAccountLocal</local>
</ejb-local-ref>
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<display-name>ejbEntity2</display-name>
<enterprise-beans>
<entity>
<display-name>NewAccountEB</display-name>
<ejb-name>NewAccountBean</ejb-name>
<local-home>entity2.NewAccountLocalHome</local-home>
<local>entity2.NewAccountLocal</local>
<ejb-class>entity2.NewAccountBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>entity2.AccountPK</prim-key-class>
<reentrant>false</reentrant>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>NewAccountBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
sun-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 2.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_0-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>NewAccountBean</ejb-name>
<jndi-name>NewAccountLocal</jndi-name>
<bean-pool>
<steady-pool-size>1</steady-pool-size>
<resize-quantity>1</resize-quantity>
<max-pool-size>3</max-pool-size>
<pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
</bean-pool>
<bean-cache>
<max-cache-size>10</max-cache-size>
<resize-quantity>1</resize-quantity>
<removal-timeout-in-seconds>360</removal-timeout-in-seconds>
<victim-selection-policy>LRU</victim-selection-policy>
</bean-cache>
</ejb>
</enterprise-beans>
</sun-ejb-jar>
Access code:
Object obj = ctx.lookup("NewAccountLocal");
entity2.NewAccountLocalHome accHome = (entity2.NewAccountLocalHome) obj;

Use "java:comp/env/NewAccountBean" instead. The portion relative to java:comp/env must
exactly match the value in the <ejb-ref-name> element. There is no automatic prepending of
"ejb" to the context relative to java:comp/env.
Of course you could also keep the code the same, but change the value of the ejb-ref-name
to <ejb-ref-name>ejb/NewAccountBean</ejb-ref-name>
All that matters is that the value relative to java:comp/env and what's in the ejb-ref-name are a match.
--ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • Using local interfaces for EJB (session bean)

    Hi,
    I�ve a question regarding when to use the Local interfaces(EJBLocal and EJBLocalHome) of a enterprise bean. I understand that calls to enterprise bean can be made locally if the client which is invoking is in the same JVM as that of EJB. I�ve written a web client (servlet) which is packaged in a EAR and this servlet is trying to invoke a session bean which is in a �different� EAR using local interfaces. Both the EARs have been deployed in a single server (websphere 6.0 server). It didn�t work for me this way�..If I package the servlet in the same EAR of session bean then it works fine.
    So is this to say that both EARs are not running on the same JVM? Or should it work even if the client and the session bean are in different EARs but in same server?
    Can anyone explain me the fundamentals behind this.
    Thanks in advance

    Local access is only portable within the same .ear. For example, the Java EE SDK and SUN's
    application servers have never supported local EJB access from a web/EJB component in a different
    .ear. One issue is that local access requires that both the caller and target EJB have the same
    classloader. By definition, different Java EE applications have distinct classloaders. In addition,
    in Java EE 5 persistence context propagation does not span applications, so it wouldn't work in the
    local case.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • ClassCastException by using Local Interface of EJB in other, but local EAR

    Hi,
    I get a ClassCastException if I try to cast the EJSWrapper-Class returned from local EJB Lookup to the interface it implements.
    The environment I use is WSADIE 5.1.1 with integrated Testenvironment.
    I have defined two EARs. One with a Web-Application and one wich contains the EJB to call from the WebApp. Both run in the same appserver instance wich means both run in the same JVM and i should be able to use Local Interface of the EJB.
    The EJB should use Libraries from the Server Environment while the WebApp uses newer Libs than the Server Environment offers(eg axis-rpc,wsdl4j,saaj). The Classloader-Policy of the EAR with the WebApp is set to PARENT_LAST while the Classloader-Policy of the EAR with the EJB is set to PARENT_FIRST.
    I do a Lookup by using an EJB-Local-Reference. The returned object is an EJSLocalStatelessHome-Object, wich implements my LocalEJBInterface. But if i try to cast to Object to this interface a ClassCastException occurs.
    The Classes of the EJB are packaged as follows:
    EJBName.jar contains the EJB-Impl class, the Serverside Implementations for RMI/IIOP interaction an EJSWrapper classes. This jar is packaged with the EJB-EAR.
    EJBClient.jar contains the Local- and Remote-Interface classes and the Stub-classes for EJBHome and EJB-Implementation. This jar is packaged wich both EARs, because of the interfaces, wich are needed in both projects.
    The Classloader of the EAR with the WebApp has no access the jar with the EJB-Impl, the generated Ties- and EJSWrapperclasses because it is located in only the EJB-EAR. But the interface-class is contained in the WebApp-EAR as described above.
    The exact Exception is as follows:
    java.lang.ClassCastException: com/ibm/wsrf/EJSLocalStatelessBPEAdapterHome_c2546ef5 incompatible with com/ibm/wsrf/BPEAdapterLocalHome
    java.lang.Throwable.<init>(Throwable.java)
    java.lang.Throwable.<init>(Throwable.java)
    java.lang.ClassCastException.<init>(ClassCastException.java:53)
    org.tempuri.ResourceDiscoveryService.DiscoverySoapHttpBindingImpl.getResourceEPR(DiscoverySoapHttpBindingImpl.java)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
    ... The EJSLocalStatelessBPEAdapterHome_c2546ef5 implements the BPEAdapterLocalHome interface.
    Please, can anyone give me a hint how to solve this problem?
    Thanks in advance, Michael

    Problem solved!
    The different EAR contained each an own copy of the jar with the local and remote interfaces of the EJB. The Problem is caused by the separate classloaders of the EARs in an application server. Each EAR Classloader loads his own version of the interface classes. Is the same class loaded by different classloaders, the JVM handles this classes as different classes. An example if you create an instance of a class in one classloader and try to reference the created instance by the same class from another classloader, the association will fail, because of different classloaders in the same JVM.
    The solution in an application server where you have deployed two projects and want to use local interfaces is, store the interfaces(and only the interfaces) in an directory, where it is found by the parent classloader of the EAR classloaders. Remove the Jar with the interface from the EARs. The EAR Classloaders will then search in the their parent classloader for the interfaces. The interfaces will be loaded by the parent classloader and will recognized as compatible by the JVM.
    Greetings, hope this helps help others!
    Michael

  • When OC4J will support local interfaces for EJB

    Hi!
    The full question is: When OC4J will support EJB final release
    specification? And where can I find and trace this information?
    korvin

    Hi!
    The full question is: When OC4J will support EJB final release
    specification? And where can I find and trace this information?
    korvin

  • Does JDev 9.0.3 support EJB Local Interfaces?

    Hi everyone, we are very interested in using local interfaces for our EJB's to set up and use a standard set of server beans that will run in each server. I did not see any reference to local interfaces in any of the release notes on version 9.0.3.
    Does anyone know? And if not, does anyone know when they might be supported?
    TIA for any responses.

    Yes. Local interfaces for EJBs are supported.

  • Weblogic 10.3.2 EJB3 Local Interface in POJO/Helper classes

    Hi,
    I have a jar file containing all EJB's in application & some Helper classes. I want to access Local interfaces of EJBs in those helper classes. Is there any way I can do it? I've gone through Maxence Button & Jay SenSharma 's blogs about accessing Local interface. but it doesn't help. May be these two guys can help me more here.. My requirement is very simple. Just to access local interface in POJO/Helper classes that are in same JAR file as EJB's. I can't get reference with @EJB class level annotation as Helper classes are called independently from MBean services.. not from any EJB or Servlert.
    Please if anyone can tell me how do I get reference of local interfaces, that would be really good.
    my environment is
    Weblogic 10.3.2
    EJB3
    Regards,
    Prasad

    Hi,
    Just check ...If you want something like mentioned in the below Link with a complete Example:
    [http://jaysensharma.wordpress.com/2009/08/16/weblogic-10-3-ejb3-local-lookup-sample/|http://jaysensharma.wordpress.com/2009/08/16/weblogic-10-3-ejb3-local-lookup-sample/]
    Regards
    Jay SenSharma

  • Local Interfaces in WebLogic 7.0 Not Faster Than Remote Interfaces?

    I was curious how much faster calling business methods in
    a stateless session EJB in WebLogic 7.0 would be through
    a local interface than calling the same business methods
    through a remote interface. I timed both ways of calling
    the same methods and much to my surprise the times were
    nearly identical. I double-checked that in one case I really
    used the local interface (using ejb-local-ref, local-jndi-name,
    local interfaces in source code). Does anybody (perhaps from
    BEA) have an explanation for this? By the way, I ran the
    same experiment with other J2EE application servers such
    as IBM's WebSphere 5 (Beta) and there was a tremendous
    performance difference between local and remote interface
    usage.
    Thanks,
    Reinhard

    "Reinhard Klemm" <[email protected]> wrote in message
    news:[email protected]...
    I appreciate your response and, at the same time, I am somewhat
    surprised about it. Here are the reasons for my surprise:
    1. Your response indicates that WebLogic uses RMI for
    EJB local method calls, i.e., even if the client is on the same VM.
    I would have assumed that WebLogic would bypass RMI in such
    a situation.That is not what I said. Local interfaces wont use rmi.
    But remote interfaces do better if the call is from the same VM. This is
    weblogic rmi optimization. Please see Rob's posting also.
    2. Other J2EE application servers fare a lot better. In one
    experiment, I timed WebLogic against WebSphere 5.0 Technology
    for Developers (i.e., WebSphere 5.0 Beta, which is expressly
    NOT for performance testing) and against the Sun Reference
    Implementation. Here are the numbers for calling business
    methods in a stateless session EJB through its local interface:
    WebLogic: 5.15 ms on the average
    WebSphere: 0.41 ms on the average
    Sun Reference Implementation: 0.11 ms on the average
    This indicates to me that both WebSphere and the Sun Reference
    Implementation are better optimized than WebLogic by excluding
    RMI when making local EJB calls.
    Reinhard
    "Maruthi Nuthikattu" <[email protected]> wrote in message
    news:<[email protected]>...
    Can you post some numbers so that we can visualize the difference.
    Please add the numbers with other J2EE appserver also.
    Otherwise top of my head, the reason is:
    Weblogic rmi is well optimized for the calls with in the same JVM andsame
    J2EE application.
    This could be the reason you are not seeing much difference.
    ..maruthi
    "Reinhard Klemm" <[email protected]> wrote in message
    news:[email protected]...
    I was curious how much faster calling business methods in
    a stateless session EJB in WebLogic 7.0 would be through
    a local interface than calling the same business methods
    through a remote interface. I timed both ways of calling
    the same methods and much to my surprise the times were
    nearly identical. I double-checked that in one case I really
    used the local interface (using ejb-local-ref, local-jndi-name,
    local interfaces in source code). Does anybody (perhaps from
    BEA) have an explanation for this? By the way, I ran the
    same experiment with other J2EE application servers such
    as IBM's WebSphere 5 (Beta) and there was a tremendous
    performance difference between local and remote interface
    usage.
    Thanks,
    Reinhard

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

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

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

  • EJB 3.0 Session bean local interface NullPointerException

    I am trying a very simple test of a Stateless EJB 3.0 bean called from a servlet.
    The bean has a local interface, annotated with @Local. The bean implements that interface and is annotated with @Stateless.
    I have a servlet with a variable of the local interface type, annotated with @EJB. The servlet's doGet method invokes the bean's one method using that interface and it works fine.
    BUT if I put the same variable, annotated with @EJB into another class in the web container, it is not injected correctly and I get a NullPointerException on the variable. This class is in WEB-INF/classes with the servlet class, so I assume it is loaded by the same classloader.
    I don't understand why the servlet can instantiate the EJB local interface successfully but another class in the web container can't. I get the same result in OC4J standalone 10.1.3.1 and 10.1.3.3.

    Only managed classes like servlets, filters etc. will have context and EJB references injected into them, and only with servlet version 2.5. A work colleague found the answer in Debu Panda's blog:
    http://debupanda.blogspot.com/2006_10_01_archive.html#116184543992078773
    This behaviour appears to be part of the EJB 3.0 standard.
    The solution is to use JNDI lookup in the client class (POJO) and declare an ejb-local-ref in web.xml.

  • Deploying EJB with Local Interfaces.

    HI everybody
    I am trying example on EJB with LocalInterfaces with BMP.
    My bean without Local interface is deployed and working fine.
    Then i have changed Home & Remote interface code. Again i have deployed it . It is deployed but i am unable to Look Up.
    I am using J2SDKEE1.3 server & JDK1.3.
    I have changed both interface files as follow:-
    I have made my Home interface as :
    public interface RetrieveConditionHome extends javax.ejb.EJBLocalHome {
         public RetrieveCondition create(String SQL_WHERE_ID, String SQL_WHERE_NAME,
              String FROM_TABLE , String WHERE_CLAUSE , String LAST_UPD_USER_ID ,
              Date LAST_UPD_TMSTMP, int ROW_VERSION)
              throws CreateException;
    I have made my Remote interface as :
    public interface RetrieveCondition extends javax.ejb.EJBLocalObject {
         public String getSQLWHERENAME() ;
    -Viren

    In JMS tutorial : They have stated ejbCreateLocal method.
    I am not using this method in my Bean class. I am using general ejbCreate method as we normally do .
    I am really confused about these methods : ejbCreate & ejbCreateLocal.
    JMS Tutorial site (where they have used ejbCreateLocal):
    A J2EETM Application that Uses the JMS API with an Entity Bean
    java.sun.com/products/jms/tutorial/1_3-fcs/doc/j2eeapp3.html
    Viren

  • Unable to invoke a EJB from a BPEL process

    I am unable to invoke a EJB from a BPEL process. Whenever I try to test it from the oracle EM, I get the below exception. I am using WebLogic 10.3.3, SOA suite 11.1.1.3 and JDev 11.1.1.3 .
    This is what I see from the EM....
    Non Recoverable System Fault :
    javaInterface attribute for the binding is missing or the inteface class is not available.
    Below is a part of the stack trace from the soa server log…
    Caused By: oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: com.abc.GreetingEJBBean
    Dependent class: oracle.integration.platform.blocks.ejb.SDOEjbReferenceD
    elegateImpl
    Loader: sun.misc.Launcher$AppClassLoader@20929799
    Code-Source: /C:/Oracle_latest/Middleware/home_11gR1/Oracle_SOA1/soa
    /modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar
    Configuration: /C:/Oracle_latest/Middleware/home_11gR1/Oracle_SOA1/soa
    /modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar
    Piece of xml from the composite.xml
    <reference name="GreetingService"
    ui:wsdlLocation="http://123.45.218.140:7001/GreetingEJBBean/GreetingEJBBeanService?wsdl">
    <interface.wsdl interface="http://abc.com/#wsdl.interface(GreetingEJBBean)" />
    <binding.ejb uri="GreetingEJB-GreetingEJB-GreetingEJB"
    javaInterface="com.abc.GreetingEJB"/>
    </reference>
    Looks like its not able to find the javaInterface mentioned above.
    I have a simple EJB with one business method and a very simple BPEL process.
    @Stateless(name = "GreetingEJB", mappedName = "GreetingEJB-GreetingEJB-GreetingEJB")
    @WebService
    public class GreetingEJBBean implements GreetingEJB {
    public GreetingEJBBean() {
    public String greetUser(String name){
    return ("Hello " + name);
    Any help would be greatly appreciated.

    I haven't tried from a BPEL process, but I have had success (as in Lucas's blogs) of using services and references as EJB Java Interface. This is with EJB java interfaces solely of base types (i.e. String foo(String s)).
    At high level here's what I have noted so far:
    1. Per Lucas's blog, @javaInterface is not being added to the ejb.binding automatically but it's not clear to me when this is and is not required given that interface.java is specified for the reference or service. Would interface.java and @javaInterface ever be different? I've been adding @javaInterface manually anyways since Lucas is a smart guy and I'd rather avoid errors. :-)
    2. Dropping an EJB interface jar in SCA-INF/lib works, but I've had the problem that the JDeveloper SOA Plugin doesn't see those classes until I stop and restart JDeveloper. Until then, I'm confronted with the java->wsdl mapping error. I was sort of primed to figure this one out since I ran into similar issues with SOA SpringBean components.
    3. Dropping EJB interface source in SCA-INF/src is more reliable, because then I can build the project (i.e. create SCA-INF/classes) and the JDeveloper SOA Plugin seems to resolve these brand new classes immediately.
    4. I've tried to invoke an EJB java-interface reference with a slightly complicated java interface (a class parameter with some fields, one of which is an array of another class). The auto-generated WSDL doesn't look exactly right to me (but I'm new to JAXB). Mediator maps to it just fine and the project compiles and deploys normally but fails at runtime. I have not researched in depth. It's not clear to me from the documentation and release notes whether I should expect for it to work, or whether I should expect to have to create my own JAXB mapping. If the latter, I really need a good example!

  • How local interfaces work in EJBs

    How exactly local interfaces work in EJBs and how should I use them ?
    Thank you.

    They are simply non-RMI interface implementations that directly delgate to the EJB's implementation. They are called and in turn call the EJB just as you would call any normal class.
    As such, there is no RMI or serialization overhead and the interfaces can include methods that update their arguments, something not possible in remote interfaces.
    Generally speaking, you should define local interfaces for all entities as one seldom if ever would access entities remotely. You might even consider defining ONLY local interfaces for entities, but that is a tougher call.
    You would define local interfaces for session EJB's that are invoked by other session EJB's within the same container. I would normally always define both local and remote interfaces unless there is some reason why I can eliminate one or the other.
    Chuck

  • How will be the weblogic-ejb-jar and ejb-jar xml for EJB Local Interface?

    Hi,
    I have one ear application which is using Stateless Session Beans. I don't have any Bean to Bean communication . At present, the client is invoking remote methods thro Home/Remote interfaces. My doubt is , shall I implement EJBLocal home/ local interface to obtain this same functionality cos, in this app, both client and EJb bean have been deployed in same JVM. Can Local interfaces only be applicable to Bean - Bean relation ship?If LocalHome/Local interfaces can be implemented in my scenario, then may I know how will be the ejb-jar.xml and weblogic-ejb-jar.xml?
    thanks and regards,
    Venkat.

    Local interfaces are for communication between ejbs and their clients when both are in the same JVM. The clients can be normal clients, jsps, servlets, and other ejbs. If the client is not in the same JVM you cannot use local interfaces even though your client is another ejb.
    Advantage of using local interface is it reduces the network overhead.
    For more information you can download Mastering Enterprise Java Beans Third Edition by Ed Roman. You can go through 45
    You can download pdf version from.
    http://www.theserverside.com/books/wiley/masteringEJB/index.tss.
    Let me know the URL of the ejb doc that you referred.
    Thanks..

  • Remote and local interface on same ejb 3.0 bean instance

    Hi,
    Is it posible to get remote and local interface on same ejb 3.0 bean instance.
    For example get local interface of a bean and than pass it as remote to client.
    Both interfaces must operate on same bean instance.
    Thanks
    Zlaja

    yes. You can implement multiple interfaces on a single class, so you can add a local and a remote interface. One trick to avoid duplicate code is to simply make the remote interface extend the local interface; then you only have to add the @Remote annotation and you're done.
    For example get local interface of a bean and than pass it as remote to client.You don't pass an instances to a client, a client looks up a remote instance of the bean through JNDI.

  • EJB 3.0  Stateless Local Interface not found

    Using Jdeveloper 1.3 it looked that EJB 3.0 local stateless session EJB bean cannot be found using ejection or lookup. It works with a remote interface.
    Context context =new InitialContext();
    SessionEJB sessionEJB = (SessionEJB)context.lookup("SessionEJB");
    Is it a bug ?
    Thank You

    Using Jdeveloper 1.3 it looked that EJB 3.0 local stateless session EJB bean cannot be found using ejection or lookup. It works with a remote interface.
    Context context =new InitialContext();
    SessionEJB sessionEJB = (SessionEJB)context.lookup("SessionEJB");
    Is it a bug ?
    Thank You

Maybe you are looking for

  • How to install and use a plug-in downloaded from the apple site?

    how to install and use a plug-in downloaded from the apple site?

  • Audio suddenly lowers while playing music

    I have noticed that audio on my MBP 2009 model sudden lowers when music is playing. Often I listen to it about 3/4 and I have noticed recently that I have to turn it up to hear it at the same level of where it was. Usually it will be about a minute i

  • How to deploy java class as a service in weblogic

    All,   I have a java class which polls on a mailbox. I want deploy this class as a service in weblogic so that when the service is started it should continuously poll the mail box untill the service is stopped. Its working as a standalone component,

  • I will not open the following mail when I delete the current. How to do this?

    <i>Locking duplicate thread.<br>Please continue here: [[/questions/992961]]</i> Hello, First of all, sorry for my bad english !! When I am delete the mail I was reading, the following (in the list) is displayed. I will avoid this, I will go back to t

  • Problem with the InputStreamReader

    Hi all, I'm working on a method that would execute unknown SHELL commands. I tried to read the Output from the execution and I don't know why but it keep running the ".read" method indefinitly. Here is my code: Process process = Runtime.getRuntime().