cancel
Showing results for 
Search instead for 
Did you mean: 

Creating EJBs using @Stateless and @Local and accessing them through JNDI

Former Member
0 Kudos

I'm porting over a working application from Glassfish.

Currently my EJBs are very simple:

@Local

public interface MyEjb {}

@Stateless( mappedName="ejb/MyEjb" )

public class MyEjbImpl implements MyEjb {}

and I have an <ejb-local-ref> descriptor in the web.xml. That's it. I have nothing in my ejb-jar.xml or anywhere else.

When I try to port this application over I get an Exception stating: com.sap.engine.services.jndi.persistent.exceptions.NamingException and then it gives me the error that it can't find "ejb/MyEjb" in the JNDI context. And when I got to the Netweaver Administration page under Configuration Management -> Application Modules and select my EJB module from the list, I don't see any EJB's deployed there. The current setup was good enough for Glassfish to figure out that EJBs were available and it needed to inject them wherever needed, what am I missing since Netweaver isn't processing the EJB annotations?

I'm trying to figure out a few things:

1) Where is ejb-j2ee-engine.xml supposed to be located? I'm thinking I have to specify the JNDI name which the application uses during lookups here.

2) Do I need to put anything in the ejb-jar.xml? Since nothing showing up in the admin console, I would think this is the place to tell Netweaver that it needs to look and install EJBs?

3) Do I still need to have references in the web.xml?

Also, I'd like to do this by hand and not simply create it using the NWDS GUI.

Thanks, any help is appreciated. If you can point me to sample code or other resources that would also be helpful.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

check this

Note 845302 - InitialContext cannot be obtained due to equal brokerId

Regards,

Ravi