Should I see EJBs in JNDI tree?
Should I be able to see my deployed EJBs in the JNDI tree of WLS6.1?
I can see the session beans that I have deployed, but not my entity
beans.
Thanks,
Malone
Should I be able to see my deployed EJBs in the JNDI tree of WLS6.1?
I can see the session beans that I have deployed, but not my entity
beans.
Thanks,
Malone
Similar Messages
-
Unable to Find EJB in JNDI Tree
Good Morning to All!
I have been scratching my head all day yesterday trying to understand this error:
[2005-06-15 09:44:38,203][Servlet.Engine.Transports : 1][FATAL][{ServiceLocator}{getHome}{CONFIG0001}{Failed to find EJB Reference from JNDI tree}{External Message:Name comp/env/ejb not found in context "java:".}]
{ServiceLocator}{getHome}{CONFIG0001}{Failed to find EJB Reference from JNDI tree}{External Message:Name comp/env/ejb not found in context "java:".}
What is going on is the user is logging into the web application. The process is the user comes in from the web container and enters the EJB container through the AdminEJB. The AdminEJB has a reference to a singleton POJO entitled ServiceLocator. This POJO follows the locator pattern. One of the things the Locator is attempting to accomplish is retrieving the CacheEJBLocalHome. This Cache ejb has a JNDI name of
ejb/CacheEJBHome
I have promoted the Cache ejb to the Local and the Remote interfaces using WSAD.
I realize the lookup method can not find the EJB, but I do not know what is causing this behavior. I originally thought the AdminEJB needed a bean reference to the CacheEJB, but this did not work.
Any insight or debugging techniques into this issue would be greatly appreciated.
Thank you for reading my post.
RussHi Ten,
FYI, just by placing the ejb jar inside EAR project it will not be picked up for deployment. The EJB module has to be defined on EAR Module Assembly, and the steps are:
> EAR Project | Properties, Deployment Assembly - Add EJB module
NOTE: To verify the dependency you could try to export the EAR project to an .ear file. If the exported .ear file bundles ejb jar then deployment should work fine.
As far as the deployment mode, OEPE supports WebLogic Split-source (default) and Exploded archive. In the default split-source mode, the .beabuild.txt contains the mapping to the actual files whereas in exploded archive the files are copied over to deployment staging location.
Steps to modify deployment mode:
> In the server view, right click on server configuration | Properties, select WebLogic | Publishing
Please make sure the ejb module is defined appropriately and let me know if this resolves the issue.
Thanks,
Ram -
EJB deployed but doesnt show up in JNDI tree on weblogic
Hi,
I have a sample EJB deployed on weblogic 10.3 server. My Bean class contains following code.
========================================================================
@Stateless (mappedName = "DemoEJB")
@TransactionManagement(TransactionManagementType.BEAN)
public class DemoBean implements SessionBean {
static final boolean verbose = true;
private transient SessionContext ctx;
private transient Properties props;
@SuppressWarnings("deprecation")
@Override
public void setSessionContext(SessionContext ctx) throws EJBException,
RemoteException {
// TODO Auto-generated method stub
if (verbose)
System.out.println("setSessionContext called");
this.ctx = ctx;
props = ctx.getEnvironment();
public String demoSelect()
throws RemoteException
return("hello world");
===========================================================================
I have created a jar file for the above class using eclipse and deployed it on weblogic. I can see the EJB in the <Deployment> on weblogic but it doesnt appear in <EJB> on JNDI tree view. Therefore i cannot access it from my client code (also written in Eclipse IDE).
I will appreciate any guidance in this regard.
Thanks
Regards,
AwaisHi,
i have the same problem with yours
This is my annotation with EJB3.0:
@Stateless(mappedName="ConSession")
@Remote(ConBeanRemote.class)
@Local(ConBean.class)
and i have a weblogic-ejb-jar.xml to define my jndi name
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar xmlns:wls="http://www.bea.com/ns/weblogic/weblogic-ejb-jar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://www.bea.com/ns/weblogic/weblogic-ejb-jar
http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>ConSession</ejb-name>
<stateless-session-descriptor>
<business-interface-jndi-name-map>
<business-remote>com.staffware.ConBeanRemote</business-remote>
<jndi-name>ConSession#com/staffware/ConBeanRemote</jndi-name>
</business-interface-jndi-name-map>
</stateless-session-descriptor>
<local-jndi-name>com/ConfigurationManagerBeanLocal</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
[ the most important: I also have specify JNDI in a java file like this
beanRemoteJNDIs.put("ConBeanRemote","ConSession#com/staffware/ConBeanRemote");
beanLocalJNDIs.put("ConBean","java:comp/env/com/ConBean");
and i can find the ConSession#com/staffware/ConBeanRemote in the jndi tree . but it shows like Multilevel directory tree
and when i login the website and click the button
.another error comes out :
13:35:55,046 ERROR [EJBDelegate] Unable to lookup reference java:comp/env/com/ConBean for ConBean!
javax.naming.LinkException: [Root exception is javax.naming.LinkException: [Root exception is javax.naming.NameNotFoun
dException: While trying to look up /app/ejb/CONFIG-ejb-2.0.jar#ConSession/local-home in /app/webapp/CO
M/18328287.; remaining name '/app/ejb/CONFIG-ejb-2/0/jar#ConfigurationManagerSession/local-home']; Link Remaining Name:
'java:app/ejb/CONFIG-ejb-2.0.jar#ConSession/local-home']; Link Remaining Name: 'com/ConBean'
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:104)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:884)
at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:187)
what should i do ?
and should i specify the jndi name in the java file . the JNDI name defined in the weblogic is right?
can you help me ?
thanks very much in advance! -
Managed Server unreached after view JNDI tree
I have issue with WLS managed server to see if anyone know that
Version WLS 10.3.1.0
I create 11G soa domain , soa_server1 as managed server .
When I open JNDI tree window of soa_server1 , I can see some error mark in eis node , when I close it . I am never able to see the view JNDI tree link ,and state of soa_server1 change to UNKNOW. actually soa_server1 still working
Again , try to use WSLT to browse JNDI of soa_server1
got this exception:
Caused by: java.rmi.UnmarshalException: Problem finding error class; nested exception is:
java.lang.ClassNotFoundException: oracle.sdpinternal.messaging.driver.email.EmailResourceAdapter
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at weblogic.jndi.internal.ServerNamingNode_1031_WLStub.list(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.list(WLContextImpl.java:217)
... 35 more
Caused by: java.lang.ClassNotFoundException: oracle.sdpinternal.messaging.driver.email.EmailResourceAdapter
at weblogic.utils.classloaders.GenericClassLoader.checkMagicNumber(GenericClassLoader.java:432)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:336)
at weblogic.rmi.utils.WLRMIClassLoaderDelegate.loadClass(WLRMIClassLoaderDelegate.java:215)
at weblogic.rmi.utils.WLRMIClassLoaderDelegate.loadClass(WLRMIClassLoaderDelegate.java:135)
at weblogic.rmi.utils.Utilities.loadClass(Utilities.java:306)
Any clue?
Kevin
Edited by: kyi on Oct 23, 2009 12:14 PMHi Kyi,
Can you check if that class had been loaded successfully?.
For JRocket :- add "-Xverbose:class,load -Xverboselog:classload.txt" to JVM options.
For Sun :- add "-verbose:class" to JVM options.
Thanks.
Vijay Bheemineni. -
Hi
I am just a starter on WLPortal.
I have created a barebone Application from scratch. I have synchronized it properly
from EBCC to WLP. But When I am trying to access the home page of my application,
I am getting from stack trace -
<Nov 6, 2002 5:37:59 PM IST> <Error> <PortalAppflow> <Could not lookup PortalManagerHome
in the JNDI tree using EJB reference java:comp/env/ejb/PortalManager.
javax.naming.NameNotFoundException: Unable to resolve comp/env/ejb/PortalManager
Resolved: 'comp/env' Unresolved:'ejb' ; remaining name 'PortalManager'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:802)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:173)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:181)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:181)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:36)
at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:124)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at com.bea.p13n.util.JndiHelper.lookupNarrow(JndiHelper.java:96)
at com.bea.portal.appflow.PortalAppflowHelper.<clinit>(PortalAppflowHelper.java:64)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.init(PortalWebflowServlet.java:78)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:700)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:643)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:588)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:368)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:215)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at jsp_servlet.__index._jspService(__index.java:92)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:304)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2459)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
<Nov 6, 2002 5:37:59 PM IST> <Error> <HTTP> <[WebAppServletContext(19695286,FirstWebApp,/FirstWebApp)]
Servlet failed with Exception
java.lang.NullPointerException:
at com.bea.portal.appflow.PortalAppflowHelper.createPortalManager(PortalAppflowHelper.java:82)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.setupPortalRequest(PortalWebflowServlet.java:187)
at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.doGet(PortalWebflowServlet.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:215)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:112)
at jsp_servlet.__index._jspService(__index.java:92)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:304)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2459)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
When I decompiled the class PortalAppflowHelper, I found a static block in it,
which was as under-
static
debug = Debug.getInstance(com.bea.portal.appflow.PortalAppflowHelper.class);
try
if(debug.ON)
debug.out("Looking up PortalManagerHome using EJB reference java:comp/env/ejb/PortalManager");
portalManagerHome = (PortalManagerHome)JndiHelper.lookupNarrow("java:comp/env/ejb/PortalManager",
com.bea.portal.manager.ejb.PortalManagerHome.class);
if(debug.ON)
debug.out("Successfully retrieved PortalManagerHome " + portalManagerHome);
catch(Exception e)
PortalAppflowLogger.errorFindingPortalManagerHome("java:comp/env/ejb/PortalManager",
e);
I have checked the PortalManager's JNDI name on WLConsole. Its ${APPNAME}.BEA_portal.PortalManager.
Should I change it?
When I tried to change it, I started getting other weird errors.
Thanks
Neeraj HansNeeraj -
The Portal framework code (including PortalAppflowHelper) uses ejb
references to find the PortalManager (and other EJBs) from servlets and
taglibs; that is what is signified by the java:comp/env/... name.
Since you built your webapp from scratch (instead of using the portal
wizard), you will need to make sure the you have the appropriate
<ejb-ref> entries in your web.xml, and the corresponding
<ejb-reference-description> entries in your weblogic.xml. By default,
you will need at least mappings for:
- ejb/PortalManager
- ejb/UserManager
- ejb/GroupManager
- ejb/PipelineExecutor
- ejb/EventService
See either the resulting webapp from using the portal wizard or
BEA_HOME/weblogic700/samples/portal/sampleportalDomain/beaApps/sampleportal/sampleportal/WEB-INF
for example syntax.
Greg
Neeraj Hans wrote:
Hi
I am just a starter on WLPortal.
I have created a barebone Application from scratch. I have
synchronized it properly
from EBCC to WLP. But When I am trying to access the home page of my
application,
I am getting from stack trace -
<Nov 6, 2002 5:37:59 PM IST> <Error> <PortalAppflow> <Could not lookup
PortalManagerHome
in the JNDI tree using EJB reference java:comp/env/ejb/PortalManager.
javax.naming.NameNotFoundException: Unable to resolve
comp/env/ejb/PortalManager
Resolved: 'comp/env' Unresolved:'ejb' ; remaining name 'PortalManager'
at <stack trace lines snipped>
When I decompiled the class PortalAppflowHelper, I found a static
block in it,
which was as under-
static
debug =
Debug.getInstance(com.bea.portal.appflow.PortalAppflowHelper.class);
try
if(debug.ON)
debug.out("Looking up PortalManagerHome using EJB
reference java:comp/env/ejb/PortalManager");
portalManagerHome =
(PortalManagerHome)JndiHelper.lookupNarrow("java:comp/env/ejb/PortalManager",
com.bea.portal.manager.ejb.PortalManagerHome.class);
if(debug.ON)
debug.out("Successfully retrieved PortalManagerHome "
+ portalManagerHome);
catch(Exception e)
PortalAppflowLogger.errorFindingPortalManagerHome("java:comp/env/ejb/PortalManager",
e);
I have checked the PortalManager's JNDI name on WLConsole. Its
${APPNAME}.BEA_portal.PortalManager.
Should I change it?
When I tried to change it, I started getting other weird errors.
Thanks
Neeraj Hans -
EJB not published in the JNDI tree
I am trying to deploy a simple ear file containing one ejb on to WL 9.2. The app is deploying without any problems, but the EJB is not published in the JNDI tree. When I look at the EJB's configuration through the admin console, it does indicated that the JNDI name is set to "ejb/HelloWorld". However, when I look at the JNDI tree there is no HelloWorld node under ejb. Below is my weblogic-ejb-jar.xml file that defines the JNDI name:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar
xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>HelloWorld</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>1000</max-beans-in-free-pool>
<initial-beans-in-free-pool>0</initial-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>0</trans-timeout-seconds>
</transaction-descriptor>
<enable-call-by-reference>false</enable-call-by-reference>
<jndi-name>ejb/HelloWorld</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>Can anyone help me understand why the JNDI name is not being published?
Thanks.Hi all,
It seems that I have the same problem with WL 10. Has any of you solved this yet?
I'm trying to switch my application from perfectly working JBoss 4.2 environment to WL 10 and no luck so far, because of this weird problem.
What I have noticed so far is:
- Some of my sessions beans are deployed ok
- "Big" session beans are silently ignored in deployment. This is unbelievable because these beans are SILENTLY ignored. And, my session beans are not that big. Under 700 LOC all of them.
- These EJBs don't appear in admin console's JNDI-browser
- These EJBs don't appear in ear-content details in "Deployments" section.
- These EJBs don't get their stubs generated in server/cache/EJBCompilerCache
- One big is ignored, but when splitting it in e.g. three smaller ones, all of these three session beans are deployed successfully
I'm using EJB3 session beans with no XML-descriptors.
So what is going on here??!
Looking forward to hear some answers. At least from BEA developers or other insiders.
Thanks.
Edited by villeingman at 06/13/2007 12:42 AM -
JNDI tree access for code outside servlets and EJBs and JSPs
Can code outside EJBs, Servlets and JSPs have access to the JNDI tree?
For example, in a web application, web.xml has a env-entry declaration which I want to access from a POJO which is called by a JSP in the web app. Is this permissible?Can code outside EJBs, Servlets and JSPs have access
to the JNDI tree?
For example, in a web application, web.xml has a
env-entry declaration which I want to access from a
POJO which is called by a JSP in the web app. Is
this permissible?Yes. Read the JNDI tutorial. -
Distinction of EJBs in shared clusterwide JNDI-Tree
Hi,
for logging issues i want to browse the shared clusterwide JNDI-Tree. As far
as i know, the clusterwide JNDI-Tree contains all services of any deployed
EJB in the cluster.
My problem is that i want do distinguish between the EJBs on the unique
Application Servers in the cluster. I need to get information about the
ApplicationServer/Thread the EJB is running in.
-Is it possible to get this information out of the clusterwide JNDI-Tree of
WLS6.0sp1?
-Is there a way to work with the replica-aware stubs of clusterable EJBs to
distinguish between "originals" and their replicas on other AppServers?
-Which type of EJBs can be accessed? All types?
-How can this task be achieved?
Thanks in advance for your help
René
"René Eßer" wrote:
> Hi,
>
> for logging issues i want to browse the shared clusterwide JNDI-Tree. As far
> as i know, the clusterwide JNDI-Tree contains all services of any deployed
> EJB in the cluster.
Yes, the cluster wide JNDI tree contains everything that is deployed in the
cluster.
> My problem is that i want do distinguish between the EJBs on the unique
> Application Servers in the cluster. I need to get information about the
> ApplicationServer/Thread the EJB is running in.
I don't understand what you mean here. "EJB's on the unique App Servers in the
cluster". To find out which thread is running you can do a
Thread.currentThread().getName()
>
> -Is it possible to get this information out of the clusterwide JNDI-Tree of
> WLS6.0sp1?
No not really.
>
> -Is there a way to work with the replica-aware stubs of clusterable EJBs to
> distinguish between "originals" and their replicas on other AppServers?
This is all hidden and transperent to the users.
-- Prasad
>
> -Which type of EJBs can be accessed? All types?
>
> -How can this task be achieved?
>
> Thanks in advance for your help
>
> René
-
Localhome doesnot appear on the jndi tree on weblogic 8.1 after deployment
I am upgrading my application from weblogic6.1 to weblogic 8.1 sp3.
I have a stateless session bean with local interfaces. when I deploy the bean to the weblogic 8.1 server, everything seems to be fine and no error occurs. but when I view the JNDI tree, the localhome is not there and the local interface has just the Bind Name and no stub, no object hash code, no object class and no object to string appears. Trying to test the EJB in the console I get the following error:
"The EJB MeldePersonDatabaseFacadeBean has not been tested successfully. There was a problem determining the JNDI Name of the given bean."
what's wrong? why does not local interfaces deploy correctly on weblogic 8.1?
my descriptors are as follows:
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<display-name>MeldePersonDatabaseEJB</display-name>
<enterprise-beans>
<session>
<display-name>MeldePersonDatabaseFacadeBean</display-name>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<local-home>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeLocalHome</local-home>
<local>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeLocal</local>
<ejb-class>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
weblogic-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<local-jndi-name>MeldePersonDatabaseFacadeBeanLocal</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
--------------------I believe the console only supports testing of remote ejbs.
I didn't see anything obviously wrong with your app. I'm guessing that
it's working fine. I'd just write a Servlet that hits the local ejb.
That should prove whether it's working or not.
-- Rob
Murteza Salemi wrote:
I am upgrading my application from weblogic6.1 to weblogic 8.1 sp3.
I have a stateless session bean with local interfaces. when I deploy the bean to the weblogic 8.1 server, everything seems to be fine and no error occurs. but when I view the JNDI tree, the localhome is not there and the local interface has just the Bind Name and no stub, no object hash code, no object class and no object to string appears. Trying to test the EJB in the console I get the following error:
"The EJB MeldePersonDatabaseFacadeBean has not been tested successfully. There was a problem determining the JNDI Name of the given bean."
what's wrong? why does not local interfaces deploy correctly on weblogic 8.1?
my descriptors are as follows:
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<display-name>MeldePersonDatabaseEJB</display-name>
<enterprise-beans>
<session>
<display-name>MeldePersonDatabaseFacadeBean</display-name>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<local-home>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeLocalHome</local-home>
<local>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeLocal</local>
<ejb-class>aetat.amelding.meldepersondatabase.facade.ejb.MeldePersonDatabaseFacadeBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
weblogic-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>MeldePersonDatabaseFacadeBean</ejb-name>
<local-jndi-name>MeldePersonDatabaseFacadeBeanLocal</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar> -
How to delete conext entries in JNDI tree after undeployment?
Hi,
When I deploy an EAR or JAR file with EJBs, they bind in the JNDI server.
When I undeploy the application the beans are no longer bound to the JNDI
tree, but the contexts they created remain.
For example, I deploy a bean that binds its home object to the following
entry in the JNDI:
myapp/mymodule/MyBean
When I undeploy MyBean, the context myapp/mymodule remain.
Is there an utility to remove these entries or do I have to develop my own
utility? I did not find anything in the administration console to do this.
This has been a source of some trouble, because sometimes I get error
messages when I want to redeploy the beans.
Thanks in advance,
VegetaPlease don't cross post. see my reply in the ejb newsgroup.
Thanks,
Michael
Vegeta wrote:
Hi,
When I deploy an EAR or JAR file with EJBs, they bind in the JNDI server.
When I undeploy the application the beans are no longer bound to the JNDI
tree, but the contexts they created remain.
For example, I deploy a bean that binds its home object to the following
entry in the JNDI:
myapp/mymodule/MyBean
When I undeploy MyBean, the context myapp/mymodule remain.
Is there an utility to remove these entries or do I have to develop my own
utility? I did not find anything in the administration console to do this.
This has been a source of some trouble, because sometimes I get error
messages when I want to redeploy the beans.
Thanks in advance,
Vegeta--
Michael Young
Developer Relations Engineer
BEA Support -
Publish, deploy, jndi tree
Hello,
I work with Weblogic server 9.2 and Ganymede 3.4.
Here are some beginner questions:
Why do I, in Ganymede's server tab, publish on the server node instead of on the EAR node?
When I publish my EAR I cannot see anything added in the jndi tree of the app-server (via admin console, view jndi tree). What do I miss?
This my weblogic-ejb-jar:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
<!-- server-version: 9.2 -->
<weblogic-enterprise-bean>
<ejb-name>HelloWorld</ejb-name>
<stateless-session-descriptor>
</stateless-session-descriptor>
<jndi-name>ejb.EjbHelloWorldHome</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Is there a perspective that displays the weblogic generated stub/skeleton files?
Is there a difference between publishing an EAR and deploying an EAR, except that deploying refers to a production environment instead of dev environment?
Thanks for any ideas.If you are using OEPE - Oracle Enterprise Pack for Eclipse (or Workshop), then WebLogic EJB's are built (the stubs, etc) with a tool called EJBGen, this link is for 10.3, but I'm pretty sure it's the same for 9.2
http://download.oracle.com/docs/cd/E12839_01/wls/docs103/ejb/EJBGen_reference.html
I think that is implemented as a an Eclipse build task, so it's only run when exporting to an archive like an EAR or EJB jar OR when publishing to the server. In either case, those generated classes would not be shown in Eclipse.
Check your deployments tab of your WLS console to see if you application is deployed an active. If it is, then I would expect to see entries from your application in the JNDI tree.
The OEPE forum is a better place to ask Eclipse questions:
Enterprise Pack for Eclipse -
MBeanServer location in JNDI tree
Hello,
I'm testing methods that use a MBeanServer from JConsole and MBean browser in EM console. I launch the JConsole using this parameters:
jconsole -J-Djava.class.path=/home/user/wlfullclient-10.3.5.0.jar:/usr/java/jdk1.6.0_30/lib/jconsole.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
When I use the JConsole for testing I obtain the MBeanServer in this way:
InitialContext ctx = new InitialContext();
server = (MBeanServer)ctx.lookup("java:comp/jmx/runtime");
And when I use the MBean browser I have to to use this code:
server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime");
I'm following the next Oracle documentation, but I want to know if there is other way to use only once String to found the MBeanServer in the JNDI tree.
Does anybody know a different way to do this?
Thanks in advance,
Make Local Connections to the Runtime MBean Server+
Local clients can access a WebLogic Server instance’s Runtime MBean Server through the JNDI tree instead of constructing a JMXServiceURL object. Only the Runtime MBean Server registers itself in the JNDI tree.+
When accessed from JNDI, the Runtime MBean Server returns its javax.management.MBeanServer interface. This interface contains all of the methods in the MBeanServerConnection interface plus additional methods such as registerMBean(), which local process can use to register custom MBeans. (See MBeanServer in the J2SE 5.0 API Specification.)+
If the classes for the JMX client are located at the top level of an enterprise application (that is, if they are deployed from the application’s APP-INF directory), then the JNDI name for the Runtime MBean Server is:+
java:comp/jmx/runtime
If the classes for the JMX client are located in a Java EE module, such as an EJB or Web application, then the JNDI name for the Runtime MBeanServer is:+
java:comp/env/jmx/runtime
For example:
InitialContext ctx = new InitialContext();
server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime");Hi,
I have same problem.
I have developed some libs (with common functionality to be used in many places, utils, and so) which I deploy in $DOMAIN/lib. I also have an ear, with ApplicationLifecycleListener to register some MBeans in the MBeanServer and they make use of this shared libs.
The thing is that if I access on of my MBeans from JConsole and if I access the same MBean from within em console, my app needs to look at different locations in the JNDI tree for the MBeanServer. Shouldn't this code, as it is running in the same location need to locate the MBeanServer the same way? Or because the client application in one case is remote, and in the other is local, need to look for the MBeanServer in one location and if not found in the other.
Think that code is deployed as a Util class in the DOMAIN/lib directory.
Thanks, -
Are workmanagers visible in the jndi tree viewer?
Hi, I'm trying to setup a workmanager, and I'm having a few problems, but I'm just wondering if I'm falling at the first hurdle. I've tried creating workmanagers at the global and application level, but looking in the admin console for my server they never show up in the jndi tree viewer. Should I expect to see my workmanager there? If I look in the deployment then I do see that the workmanager exists, alongside default.
Thanks.If you create a workmanager at the application level, you'll see the work manager in the console under Deployments -> your app -> Monitoring ->Workload.
If you create a workmanager at the domain / server level and reference it within your app's deployment descriptors ( wl-dispatch-policy ), you can look under Servers ->your app's targeted server -> Deployments -> your app -> Monitoring -> Workload. In this case, you'll see all the workmanagers targeted to that server, but you can confirm your app's usage of the correct wm by submitting a request to your app and seeing an increase in the completed requests column of the display.
A work manager configured at the domain / server level doesn't have a JNDI name attribute that you enter. You just use the same workmanager name in your deployment descriptor <wl-dispatch-policy>someWM</wl-dispatch-policy>.
The handling of stuck threads seems to be a trouble point for application defined workmanagers, so we've decided to stick with individual server level work managers for each app. -
Added DataSource not in JNDI tree; WLS6.1SP1
I have added a new DataSource, but I don't see it in the JNDI tree? I have restarted the server after adding. (BTW if I check the examples server, not every name is in the JNDI tree either?! eg. examples-dataSource-demoPool is not in the tree; but examples-dataSource-demoXAPool is in the tree)
If possible please also reply to my email address... [email protected]Thanks for your suggestion. I did this after adding the pool. I should have mentioned
this in my first post.
I have tried again to add a ConnectionPool and a DataSource: to my supprise it
was in the JNDI tree. So everything seemed OK now, but read on...
Because I couldn't access other PC's in my network (Weblogic is installed on my
laptop, which I used during the day without network connection) I rebooted my
laptop and the JNDI name was gone??? Must be something with IP addresses or so.
I will investigate and reply when I have figured it out.
Deepak Vohra <[email protected]> wrote:
Ben
Set the Targets Server.
Click on JDBC node. Click on Data Sources Node. Click on the DataSource
node. click on Targets tab. Choose a Targets Server. click Apply. The
added DataSource should get a JNDI binding.
Deepak
Ben Verloop wrote:
I have added a new DataSource, but I don't see it in the JNDI tree?I have restarted the server after adding. (BTW if I check the examples
server, not every name is in the JNDI tree either?! eg. examples-dataSource-demoPool
is not in the tree; but examples-dataSource-demoXAPool is in the tree)
If possible please also reply to my email address... [email protected] -
ACL on JNDI tree or elements in it
Hello
I am trying to find out how I can secure information in the JNDI tree.
The documentation led me to believe using the t3 naming service I could
protect anything under acl.<i>perm</i>.weblogic.jndi.<i>path</i>
but this does not seem to be the case. I assumed path was the jndi
path name... I have been unable to find documentation on what I
can attach ACL to in the JNDI tree - though I have seen a few
posted on deja, example from filerealm.properties,
#acl.list.weblogic.jndi.weblogic.ejb=system
#acl.modify.weblogic.jndi.weblogic.rmi=system
#acl.lookup.weblogic.jndi.weblogic.fileSystem=system
There seems to be <b>no</b> definitive list though in the BEA documentation.
Can anyone refer me to docs on what JNDI elements can attach ACL?
Or how I can protect things in the JNDI tree? I get the impression,
that I must manually implement ACL support for remote objects
I add into the tree. I have also not found good information
on this.
not helpful
anything searched with JNDI and ACL
http://e-docs.bea.com/wls/docs61/adminguide/cnfgsec.html
not very helpful
http://e-docs.bea.com/wls/docs61/security/prog.html#1043942Hi,
Check this debug in ur environment.
-Dweblogic.jndi.retainenvironment=true
this should show you the path.
Regards,
Kal.
Maybe you are looking for
-
Can I use Bridge to export image data into a .txt file?
I have a folder of images and I would like to export the File Name, Resolution, Dimensions and Color Mode for each file into one text file. Can I use Bridge to export image data into a .txt file?
-
I only edit videos every few months and the last time I edited a video was around 6-9 months ago. At that time, I noticed AME was only using a single core of the CPU and contacted Adobe who instructed me to disable core parking, which worked. After
-
My shift key doesn't work to pick up multiple files
My shift Key does not work when used to collect multiple files.
-
Ethernet Plugs DO NOT CLICK into place!
Hello. I just bought a brand new iBook at an Apple Store today and it's great... but I plugged an ethernet cord into the ethernet port and the plastic end does not click into place... I tried multiple cords from different makers that I know work in o
-
Interest compounding starting at a certain date
Hi folks, I'm working on a small applet, and I was seeking a bit of guidance before I jumped in too deep into it. In itself, it's pretty simple. I have an initial dollar figure, and it's growing by x every second. It started a few days ago, and I wou