EJB 3.0 lookup in Weblogic 10.3.0

Hello everyone,
1: Our application runs on Weblogic Application Server,version 10.3.0
2: In our system,we need to deploy an EJB conforming to the EJB 3.0 specification.
Please find the sample code for our UAT environment as below :
/*The remote interface*/
package com.serverside.ejb.session;
import javax.ejb.Remote;
@Remote
public interface ASimpleSessionBeanRemote {
     public void printThis(String print);
/*The bean class*/
package com.serverside.ejb.session;
import javax.ejb.Remote;
import javax.ejb.Stateless;
* Session Bean implementation class ASimpleSessionBean
@Stateless(name="ASimpleSessionBean", mappedName = "ASimpleSessionEJB")
@Remote(ASimpleSessionBeanRemote.class)
public class ASimpleSessionBean implements ASimpleSessionBeanRemote {
* Default constructor.
public ASimpleSessionBean() {
// TODO Auto-generated constructor stub
     @Override
     public void printThis(String print) {
          // TODO Auto-generated method stub
          System.out.println("ASimpleSessionBean : "+print);
3: The above files when packaged in jar get deployed on the server successfully.
4: As per EJB 3.0 specification,the deployement descriptors are not mandatory.Hence,the jar doesn't include ejb-jar.xml and weblogic-ejb-jar.xml
5: Please find below,the EJB3.0 annotations reference as per the Weblogic Application Server Documentation :
Annotation : @Stateless
Package: javax.ejb.Stateless
Attribute : mappedName
Description :
Specifies the product-specific name to which the stateless session bean should be mapped.
You can also use this attribute to specify the JNDI name of this stateless session bean. WebLogic Server uses the value of the mappedName attribute when creating the bean’s global JNDI name. In particular, the JNDI name will be:
mappedName#name_of_businessInterface
where name_of_businessInterface is the fully qualified name of the business interface of this session bean.
For example, if you specify mappedName="bank" and the fully qualified name of the business interface is com.CheckingAccount, then the JNDI of the business interface is bank#com.CheckingAccount.
6: Conforming to the above specification, the sample EJB deployed on our application server has the binding name(as reflected in the jndi tree) as follows :
ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSessionBeanRemote
A jndi lookup using this name succeeds :
InitialContext.doLookup("ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSesionBeanRemote");
7: Now,we want the binding name to be a simple string i.e the lookup must be something like :
InitialContext.doLookup("ASimpleSessionEJB");
8: To implement point-7,we tried using the ejb-jar.xml and weblogic-ejb-jar.xml as follows :
->ejb-jar.xml
<?xml version="1.0" encoding="ASCII"?>
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0">
<display-name>ejb</display-name>
<enterprise-beans>
     <session>
          <ejb-name>ASimpleSessionBean</ejb-name>
          <ejb-ref>
               <ejb-ref-name>ASimpleSessionEJB</ejb-ref-name>
               <remote>com.serverside.ejb.session.ASimpleSessionBeanRemote</remote>
               <mapped-name>ASimpleSessionEJB</mapped-name>
          </ejb-ref>
     </session>
</enterprise-beans>
</ejb-jar>
->weblogic-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<wls: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">
<!-- server-version: 10.3.0 --><wls:weblogic-enterprise-bean>
     <wls:ejb-name>ASimpleSessionBean</wls:ejb-name>
     <wls:stateless-session-descriptor>
          <wls:business-interface-jndi-name-map>
               <wls:business-remote>ASimpleSessionBeanRemote</wls:business-remote>
               <wls:jndi-name>ASimpleSessionEJB</wls:jndi-name>
          </wls:business-interface-jndi-name-map></wls:stateless-session-descriptor>
     <wls:jndi-name>ASimpleSessionEJB</wls:jndi-name>
</wls:weblogic-enterprise-bean>
</wls:weblogic-ejb-jar>
9: Inspite of the point-8,the binding name remains as follows :
ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSessionBeanRemote
10: Please guide us about the solution and implementation to attend point-7.
Thanks !

Hi,
I find distributed applications very interesting (even though this application of mine could just use sockets - it is nicer than EJB 2.1). You don't need the @Local DI and local interface if you only do remote - so here is some minimal hello world code that currently works on a test network of mine.
In this example I have provided only a remote stateless session bean and an SE client (could be a pojo or servlet).
The *@Stateful* SB has been converted to a *@Stateless* SB (now the state field doesn't really hold state as the container pools the SSB - but this is an unrelated issue as I an not using transactions yet anyway). The key is naming the SSB with the mappedName attribute so you can easily reference it - or just check your logs after you deploy the EAR containing the EJB in your EE server.
Note: WebLogic also registers a legacy EJB 2.1 compliant jndi name alias for you as well appsdirorg_eclipse_persistence_example_distributed_ClientEAR_earorg_eclipse_persistence_example_distributed_ClientEJB_jarNode_Home*
For your specific question about dependency injection (which is implemented by Spring AOP inside the server).
Use @Remote on your Remote inteface class
Use @Stateless on your session bean implementation class
Use @EJB to inject your stateless session bean into a servlet for example (I have not tried using @EJB on a POJO - it would need to be running on the WebLogic container in the WAR or EJB.jar - don't think that is supported - I have not tried @Resource or spring annotations for this yet)
This example (reduced to show a single remote server) uses a JNDI lookup to get a reference to the remote bean (full try/catch exception handlers in full code near end of post).
      Hashtable<String, String> aTable =  new Hashtable<String, String>();
      aTable.put("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
      aTable.put("java.naming.provider.url", "beowulf5");
      Context aContext = new InitialContext(aTable);
      Object aRemoteReference = aContext.lookup("ejb/Node#org.eclipse.persistence.example.distributed.NodeRemote");       
      NodeRemote aNode = (NodeRemote) PortableRemoteObject.narrow(aRemoteReference, NodeRemote.class);
      aNode.setState(0)); // remote method invocationI deploy an EAR containing the SSB on distributed servers on any EE container - I chose WebLogic 10.3.4.
I run an SE app that connects to a list of servers that that are running the remote stateless session bean. The code is very naive at this point, it does retry bad connections and it is not yet multithreaded - just a proof of concept for EJB 3 remote session beans.
The InitialContext RMI handshaking will take around 10 sec per server to setup - then you can do up to 200k remote EJB RMI invokacations per second/thread on my machine.
The @Local code is only required if you wish to optimize using your SSB on the same JVM.
The JPA peristence code can be ignored (no EJB 3.0 Entities)
I just discovered the forum code tag in square brackets after 2 years
package org.eclipse.persistence.example.distributed;
import javax.ejb.Remote;
@Remote
public interface NodeRemote {
    public void setState(int state);
    public int getState();
package org.eclipse.persistence.example.distributed;
import javax.ejb.Stateful;
@Stateful(mappedName="ejb/Node")
public class Node implements NodeRemote {
    private int state;
    public void setState(int aState) {        state = aState;    }
    public int getState() {        return state;    }
}weblogic-ejb-jar.xml ejb deployment descriptor - empty (we are using dependency injection annotations)
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-ejb-jar xmlns:wls="http://xmlns.oracle.com/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://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.2/weblogic-ejb-jar.xsd">
    <!--weblogic-version:10.3.4-->
</wls:weblogic-ejb-jar>weblogic-application.xml deployment descriptor - essentially empty
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" 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/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.2/weblogic-application.xsd">
    <!--weblogic-version:10.3.4-->
    <wls:application-param>
        <wls:param-name>webapp.encoding.default</wls:param-name>
        <wls:param-value>UTF-8</wls:param-value>
    </wls:application-param>
</wls:weblogic-application>application.xml JEE5 deployment descriptor - you can ignore the model.jar and war
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" id="Application_ID" version="5">
  <display-name>
org.eclipse.persistence.example.distributed.ClientEAR</display-name>
  <module>
    <java>org.eclipse.persistence.example.distributed.Model.jar</java>
  </module>
  <module>
    <web>
      <web-uri>org.eclipse.persistence.example.distributed.ClientWeb.war</web-uri>
      <context-root>distributed</context-root>
    </web>
  </module>
  <module>
    <ejb>org.eclipse.persistence.example.distributed.ClientEJB.jar</ejb>
  </module>
</application>SE java client code (run from Eclipse 3.6 EE edition)
package org.eclipse.persistence.example.distributed;
import java.rmi.ConnectException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import javax.ejb.EJBException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import org.eclipse.persistence.example.distributed.NodeRemote;
import org.eclipse.persistence.example.distributed.network.Cell;
import org.eclipse.persistence.example.distributed.network.Quad;
import org.eclipse.persistence.example.distributed.network.Wire;
* This class tests RMI connections to multiple WebLogic servers running on
* remote JVM's.  It is intended for experimental concurrency investigations only.
* Note: for non-EE/ejb/web contexts (SE) use wlfullclient.jar generated from
* $WLS_INSTALL\wlserver_10.3\server\lib>java -jar wljarbuilder.jar
* 20110106: refactor for generic remote connections
* @author http://wiki.eclipse.org/User:Michael.obrien.oracle.com 20100916
public class Host {
    /** RMI server key name - does not need to resolve under DNS */
    public static String serverDNS[] = {"beowulf5","local"};//,"beowulf6"};
    /** RMI t3 URL */
    public static String serverT3[] = {"t3://1n.n.n.n:7001","t3://1n.n.n.n:7001"};
    private int numberServers = serverDNS.length;
    /** list of server names from above arrays */
    private List<String> serverNames = new ArrayList<String>();
    /** Input context map hashtable entries - For JNDI we are forced to use Hashtable instead of HashMap*/
    private Map<String, Hashtable<String, String>> contextHashtableMap
        = new HashMap<String, Hashtable<String, String>>();
    /** output cached context maps for each remote server */
    private Map<String, Context> rmiCachedContextMap
        = new HashMap<String, Context>();
    /** $Proxy remote objects */
    private Map<String, NodeRemote> remoteObjects                                  
        = new HashMap<String, NodeRemote>();
    /** remote propagation value */
    private Map<String, Integer> stateToSet                                                  
        = new HashMap<String, Integer>();
    /** How many processors are available (real + hyperthreaded) */
    private Map<String, Integer> availableProcessors                                  
        = new HashMap<String, Integer>();
    /** whether the node is accepting requests or not */
    private Map<String, Boolean> nodeUnavailable                                     
        = new HashMap<String, Boolean>();
    /** map of t3 protocol URLs */
    private Map<String, String>  serverIPMap                                               
        = new HashMap<String, String>();
    // verify that all EE libraries available via http://download.oracle.com/docs/cd/E12840_01/wls/docs103/client/jarbuilder.html
    private static final String CONTEXT_FACTORY_NAME = "weblogic.jndi.WLInitialContextFactory";
    private static final String SESSION_BEAN_REMOTE_NAME = "ejb/Node#org.eclipse.persistence.example.distributed.NodeRemote";
    //private String sessionBeanRemoteName = "java:comp/env/ejb/Node"; // EE only
    //private String sessionBeanRemoteName = "org_eclipse_persistence_example_distributed_ClientEARorg_eclipse_persistence_example_distributed_ClientEJB_jarNode_Home" ;
    public Host() {
        // initialize state
        for(int i=0;i<numberServers;i++) {
            // For each server add the name key and corresponding RMI URL
            serverNames.add(serverDNS);
serverIPMap.put(serverDNS[i], serverT3[i]);
nodeUnavailable.put(serverDNS[i], false);
availableProcessors.put(serverDNS[i], 0);
Hashtable<String, String> aTable = new Hashtable<String, String>();
contextHashtableMap.put(serverDNS[i],aTable);
aTable.put(Context.INITIAL_CONTEXT_FACTORY,CONTEXT_FACTORY_NAME);
aTable.put(Context.PROVIDER_URL, serverT3[i]);
public void process() {
// process RMI Objects
try {           
NodeRemote aNode;
StringBuffer aBuffer = new StringBuffer();
// Endlessly generate RMI requests
for(;;) {
// Send messages to entire grid in parallel
for(String remoteServer : remoteObjects.keySet()) {
aNode = remoteObjects.get(remoteServer);
// increment server's pending state
stateToSet.put(remoteServer, stateToSet.get(remoteServer).intValue() + 1);
if(!nodeUnavailable.get(remoteServer)) {
try {
// Issue: One JVM halt will affect the entire distributed app.
// don't let a node failure halt the host
aNode.setState(stateToSet.get(remoteServer)); // this remote call can throw an EJBException wrapping a java.rmi.ConnectException
aBuffer = new StringBuffer("State from: ");
aBuffer.append(remoteServer);
aBuffer.append(" = ");
aBuffer.append(aNode.getState());
System.out.println(aBuffer.toString());
} catch (EJBException e) {
// weblogic.transaction.internal.TimedOutException: Transaction timed out after 29 seconds
// or
// EJBException wrapping a java.rmi.ConnectException if the server is not running
e.printStackTrace();
// mark the current node as down, clear the flag in 5 min
nodeUnavailable.put(remoteServer, true);
} catch (Exception e) {
e.printStackTrace();
public void connect() {
// Setup RMI Objects
try {           
// Establish RMI connections to the session beans
for(String aServer : serverNames) {
Context aContext = null;
try {
aContext = new InitialContext(contextHashtableMap.get(aServer));
rmiCachedContextMap.put(aServer, aContext);
System.out.println("Context for " + aServer + " : " + aContext);
// For qualified name look for weblogic log "EJB Deployed EJB with JNDI name"
Object aRemoteReference = aContext.lookup(SESSION_BEAN_REMOTE_NAME);
System.out.println("Remote Object: " + aRemoteReference);
// narrow the $proxy remote bean
NodeRemote aNode = (NodeRemote) PortableRemoteObject.narrow(aRemoteReference, NodeRemote.class);
remoteObjects.put(aServer, aNode);
System.out.println("Narrowed Session Bean: " + aNode);
// initialize state list
stateToSet.put(aServer, new Integer(0));
} catch (Exception ce) {
// server down throws a javax.naming.CommunicationException inside a java.net.ConnectException
ce.printStackTrace();
// mark the current node as down, clear the flag in 5 min
nodeUnavailable.put(aServer, true);
} catch (Exception e) {
e.printStackTrace();
public Map<String, Hashtable<String, String>> getContextMap() {        return contextHashtableMap;    }
public void setContextMap(Map<String, Hashtable<String, String>> contextMap) {        this.contextHashtableMap = contextMap;    }
public Map<String, Context> getRmiContextMap() {        return rmiCachedContextMap;    }
public void setRmiContextMap(Map<String, Context> rmiContextMap) {        this.rmiCachedContextMap = rmiContextMap;    }
public Map<String, NodeRemote> getRemoteObjects() {        return remoteObjects;    }
public void setRemoteObjects(Map<String, NodeRemote> remoteObjects) {        this.remoteObjects = remoteObjects;    }
public Map<String, Integer> getStateToSet() {        return stateToSet;    }
public void setStateToSet(Map<String, Integer> stateToSet) {        this.stateToSet = stateToSet;    }
public Map<String, Boolean> getNodeUnavailable() {        return nodeUnavailable;    }
public void setNodeUnavailable(Map<String, Boolean> nodeUnavailable) {        this.nodeUnavailable = nodeUnavailable;    }
public Map<String, String> getServerIPMap() {        return serverIPMap;    }
public void setServerIPMap(Map<String, String> aServerIPMap) {        serverIPMap = aServerIPMap;    }
public List<String> getServernames() {        return serverNames;    }
public void setServerNames(List<String> serverNames) {        this.serverNames = serverNames;    }
public int getNumberServers() {        return numberServers;    }
public void setNumberServers(int numberServers) {        this.numberServers = numberServers;    }
public Map<String, Integer> getAvailableProcessors() {        return availableProcessors;    }
public void setAvailableProcessors(Map<String, Integer> availableProcessors) {        this.availableProcessors = availableProcessors;    }
public static void main(String[] args) {
Host host = new Host();
host.connect();
host.process();
Path to run SE client from command line
java -cp .;wls/wlfullclient.jar org.eclipse.persistence.example.distributed.HostRemote Server Deploy logs
Local JVM
####<18-Jan-2011 11:13:45 o'clock AM VET> <Info> <EJB> <mfobrien-pc2> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295365425233> <BEA-014021> <The EJB 'Node(Application: _appsdir_org.eclipse.persistence.example.distributed.ClientEAR_ear, EJBComponent: org.eclipse.persistence.example.distributed.ClientEJB.jar)' has been successfully deployed.
The following remote interfaces have been bound into JNDI with the specified JNDI names:>
####<18-Jan-2011 11:13:45 o'clock AM VET> <Info> <EJB> <mfobrien-pc2> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295365425233> <BEA-014022> <********
org.eclipse.persistence.example.distributed.NodeRemote is bound with JNDI name:ejb/Node#org.eclipse.persistence.example.distributed.NodeRemote ********>
####<18-Jan-2011 11:13:45 o'clock AM VET> <Info> <EJB> <mfobrien-pc2> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295365425233> <BEA-010009> <EJB Deployed EJB with
JNDI name _appsdir_org_eclipse_persistence_example_distributed_ClientEAR_earorg_eclipse_persistence_example_distributed_ClientEJB_jarNode_Home.>
beowulf5 JVM
####<Jan 18, 2011 11:27:46 AM EST> <Info> <EJB> <beowulf5> <AdminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295368066578> <BEA-014021> <The EJB 'Node(Application: _appsdir_org.eclipse.persistence.example.distributed.ClientEAR_ear, EJBComponent: org.eclipse.persistence.example.distributed.ClientEJB.jar)' has been successfully deployed. The following remote interfaces have been bound into JNDI with the specified JNDI names:>
####<Jan 18, 2011 11:27:46 AM EST> <Info> <EJB> <beowulf5> <AdminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295368066578> <BEA-014022> <******** org.eclipse.persistence.example.distributed.NodeRemote is bound with
JNDI name:ejb/Node#org.eclipse.persistence.example.distributed.NodeRemote ********>
####<Jan 18, 2011 11:27:46 AM EST> <Info> <EJB> <beowulf5> <AdminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1295368066578> <BEA-010009> <EJB Deployed EJB with JNDI name _appsdir_org_eclipse_persistence_example_distributed_ClientEAR_earorg_eclipse_persistence_example_distributed_ClientEJB_jarNode_Home.>
local SE client logs
Context for beowulf5 : javax.naming.InitialContext@9980d5
Narrowed Session Bean: ClusterableRemoteRef(7753348759447467175S:10.156.53.10:[7001,7001,-1,-1,-1,-1,-1]:base_domain:AdminServer [7753348759447467175S:10.156.53.10:[7001,7001,-1,-1,-1,-1,-1]:base_domain:AdminServer/292])/292
Context for local : javax.naming.InitialContext@1a897a9
Narrowed Session Bean: ClusterableRemoteRef(-5707697697594367270S:10.156.52.246:[7001,7001,-1,-1,-1,-1,-1]:base_domain:AdminServer [-5707697697594367270S:10.156.52.246:[7001,7001,-1,-1,-1,-1,-1]:base_domain:AdminServer/300])/300
State from: local = 1
State from: beowulf5 = 1
State from: local = 2
State from: beowulf5 = 2thank you
Glad to help out.
/Michael

Similar Messages

  • EJB lookup with weblogic?

    Hi, experts
    I have a question with the EJB lookup in weblogic, this is a question which has been asked many times when I google that. But likely there is not a clearly answer, so maybe I can get the answer from the experts?
    If we lookup an EJB, we need to use the "mappedName#interface_name" as the query name used in lookup method, Is this the only way that we query the EJB? Or is there any other ways we can simply the query name?
    Thanks for your time.

    Try posting in the forum dedicated to WLS EJB - WebLogic Server - EJB
    Also, why don't you explain what you're looking for exactly, how would you like to look up the EJB's, or are you asking for a best practice? Describing your use case will help get the best answer, right now your question is extremely generic.

  • EJB 3 JNDI lookup with WL 12c (12.1.1) Exception

    Hi all,
    I'm trying to lookup an EJB inside my application with the following code :
    Context ctx = new InitialContext();
    ctx.lookup("java:module/MyEJB");
    it throws this Exception :
    javax.naming.NamingException [Root exception is java.rmi.RemoteException: weblogic.ejb.container.internal.StatelessLocalObject; nested exception is:
         java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject]
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
         at javax.faces.component.UICommand.broadcast(UICommand.java:315)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
         Truncated. see log file for complete stacktrace
    Caused By: javax.faces.el.EvaluationException: javax.naming.NamingException [Root exception is java.rmi.RemoteException: weblogic.ejb.container.internal.StatelessLocalObject; nested exception is:
         java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject]
         at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at javax.faces.component.UICommand.broadcast(UICommand.java:315)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
         Truncated. see log file for complete stacktrace
    Caused By: javax.naming.NamingException [Root exception is java.rmi.RemoteException: weblogic.ejb.container.internal.StatelessLocalObject; nested exception is:
         java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject]
         at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:86)
         at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:466)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:256)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:406)
         at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:170)
         Truncated. see log file for complete stacktrace
    Caused By: java.rmi.RemoteException: weblogic.ejb.container.internal.StatelessLocalObject; nested exception is:
         java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject
         at weblogic.jndi.internal.WLEventContextImpl.copyObject(WLEventContextImpl.java:384)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:251)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:406)
         at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:170)
         at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
         Truncated. see log file for complete stacktrace
    Caused By: java.io.NotSerializableException: weblogic.ejb.container.internal.StatelessLocalObject
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
         Truncated. see log file for complete stacktrace
    i'm using WL 12c, JDK 1.6.29.
    regards.

    I can't upload all the project, but i will upload the [required files|http://dl.dropbox.com/u/79750638/WLForum.7z] .
    inform me if you need more info.
    thanks

  • Problem in deploying EJBs (More than 390) in weblogic-BEA says JDK issue!!!

    Our application had 390 EJBs before the current build. It was running fine on Weblogic 6.1-SP4 with JDK 1.3.1_08.
    In the current build, 3 EJBs were introduced and the Weblogic server started giving deployment problems. We then came across the Weblogic Bug stating the magic Number of 390 and delegating it to a SUN Bug. But, contrary to the SUN bug which says of a OutofMemory issue, we were not getting any OutOfMemory error.
    Then, just to test the 390 number, we cut downed on the number of EJBs reducing the number to 388, in a test environment. EJBs got deployed without problem. Then we added 3 EJBs (increasing the EJB count to 391), and Weblogic server started giving Deployment problem in a EJB which was one of the 388 that were running fine earlier.But, now also there was no OutOfMemory error. Then we removed one of the newly added EJBs to bring the EJB count to 390. The Weblogic deployed the EJBs without error(even the one which was giving problem when EJB count was 391).
    So, 390 seems to be the number but, contrary to BEA problem ID: 035884 which delegates the problem to SUN Bug ID:4390238 (Incidentally SUN has closed this bug as Non-reproducable), we are not getting any OutOfMemory error.
    My questions to the JAVA community are:
    1)Is the problem really related to JDK or Weblogic?
    2)If it's a problem with JDK, then what should be done to fix it?
    ==========================================
    A deployment error generated is pasted below:
    ==========================================
    java.lang.reflect.InvocationTargetException: weblogic.management.DistributedManagementException: Distributed Management [1 exceptions]
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:559)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Distributed update exception
    - remote object: stellar:Location=primary-server,Name=primary-server,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@1d5ebc
    - actionName: addDeployment
    - params: [Ljava.lang.Object;@5f97ae
    - signature: [Ljava.lang.String;@5f28a6
    Distributed update exception
    - remote object: stellar:Location=primary-server,Name=primary-server,Type=ServerConfig
    - remote server: weblogic.management.internal.RemoteMBeanServerImpl@1d5ebc
    Unable to deploy EJB: STTaskPrivilegeLinkEntity from Entities.jar:
    java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.ClassFormatError: com/c4/stellar/server/ejbs/entities/STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS (Illegal Method name "Exception in 'findBySTTaskEntity_3v8zjr__WebLogic_CMP_RDBMS_taskPrivilegeLinkEntity__WL_' while usi") for com.c4.stellar.server.ejbs.entities.STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:165)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at weblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:307)
    at weblogic.ejb20.deployer.EntityBeanInfoImpl.getGeneratedBeanClass(EntityBeanInfoImpl.java:362)
    at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:114)
    at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
    at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:817)
    at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1299)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1005)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested exception:
    [java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.ClassFormatError: com/c4/stellar/server/ejbs/entities/STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS (Illegal Method name "Exception in 'findBySTTaskEntity_3v8zjr__WebLogic_CMP_RDBMS_taskPrivilegeLinkEntity__WL_' while usi") for com.c4.stellar.server.ejbs.entities.STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS]
    at weblogic.ejb20.deployer.EntityBeanInfoImpl.getGeneratedBeanClass(EntityBeanInfoImpl.java:367)
    at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:114)
    at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
    at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:817)
    at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1299)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1005)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1087)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Unable to deploy EJB: STTaskPrivilegeLinkEntity from Entities.jar:
    java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.ClassFormatError: com/c4/stellar/server/ejbs/entities/STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS (Illegal Method name "Exception in 'findBySTTaskEntity_3v8zjr__WebLogic_CMP_RDBMS_taskPrivilegeLinkEntity__WL_' while usi") for com.c4.stellar.server.ejbs.entities.STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:165)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at weblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:307)
    at weblogic.ejb20.deployer.EntityBeanInfoImpl.getGeneratedBeanClass(EntityBeanInfoImpl.java:362)
    at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:114)
    at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
    at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:817)
    at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1299)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1005)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested exception:
    [java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.ClassFormatError: com/c4/stellar/server/ejbs/entities/STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS (Illegal Method name "Exception in 'findBySTTaskEntity_3v8zjr__WebLogic_CMP_RDBMS_taskPrivilegeLinkEntity__WL_' while usi") for com.c4.stellar.server.ejbs.entities.STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS]
    at weblogic.ejb20.deployer.EntityBeanInfoImpl.getGeneratedBeanClass(EntityBeanInfoImpl.java:367)
    at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:114)
    at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
    at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:817)
    at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1299)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1005)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MBeanReferenceAttribute.doSet(MBeanReferenceAttribute.java:124)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.management.DistributedOperationUpdateException:
    Unable to deploy EJB: STTaskPrivilegeLinkEntity from Entities.jar:
    java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.ClassFormatError: com/c4/stellar/server/ejbs/entities/STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS (Illegal Method name "Exception in 'findBySTTaskEntity_3v8zjr__WebLogic_CMP_RDBMS_taskPrivilegeLinkEntity__WL_' while usi") for com.c4.stellar.server.ejbs.entities.STTaskPrivilegeLinkEntity_apfxaw__WebLogic_CMP_RDBMS
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:165)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at weblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:307)
    at weblogic.ejb20.deployer.EntityBeanInfoImpl.getGeneratedBeanClass(EntityBeanInfoImpl.java:362)
    at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:114)
    at weblogic.ejb20.manager.DBManager.setup(DBManager.java:123)
    at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:817)
    at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1299)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1005)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
    at weblogic.j2ee.Application.addComponent(Application.java:174)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:364)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:150)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:374)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:507)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:376)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy14.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1545)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:908)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:310)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy11.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.MBeanAttribute.doSet(MBeanAttribute.java:84)
    at weblogic.management.console.info.MBeanReferenceAttribute.addToArrayAttribute(MBeanReferenceAttribute.java:254)
    at weblogic.management.console.info.MB

    So, 390 seems to be the number but, contrary to BEA
    problem ID: 035884 which delegates the problem to SUN
    Bug ID:4390238 (Incidentally SUN has closed this bug
    as Non-reproducable), we are not getting any
    OutOfMemory error.Did you check the server logs? There might be an OutOfMemoryError logged.
    My questions to the JAVA community are:
    1)Is the problem really related to JDK or Weblogic?Apparently, the problem is with the Weblogic. Did you try deploying the same number on some higher version of Weblogic? (7.0 for instance)
    2)If it's a problem with JDK, then what should be
    done to fix it?Check the bug database for the same bug id. There is a workaround posted. The evaluation comments are also hinting at using the suggested VM options.
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4390238

  • EJB 3.0 lookup with WLS 10.3.0

    Hello everyone,
    1: Our application runs on Weblogic Application Server,version 10.3.0
    2: In our system,we need to deploy an EJB conforming to the EJB 3.0 specification.
    Please find the sample code for our UAT environment as below :
    /*The remote interface*/
    package com.serverside.ejb.session;
    import javax.ejb.Remote;
    @Remote
    public interface ASimpleSessionBeanRemote {
         public void printThis(String print);
    /*The bean class*/
    package com.serverside.ejb.session;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    * Session Bean implementation class ASimpleSessionBean
    @Stateless(name="ASimpleSessionBean", mappedName = "ASimpleSessionEJB")
    @Remote(ASimpleSessionBeanRemote.class)
    public class ASimpleSessionBean implements ASimpleSessionBeanRemote {
    * Default constructor.
    public ASimpleSessionBean() {
    // TODO Auto-generated constructor stub
         @Override
         public void printThis(String print) {
              // TODO Auto-generated method stub
              System.out.println("ASimpleSessionBean : "+print);
    3: The above files when packaged in jar get deployed on the server successfully.
    4: As per EJB 3.0 specification,the deployement descriptors are not mandatory.Hence,the jar doesn't include ejb-jar.xml and weblogic-ejb-jar.xml
    5: Please find below,the EJB3.0 annotations reference as per the Weblogic Application Server Documentation :
    Annotation : @Stateless
    Package: javax.ejb.Stateless
    Attribute : mappedName
    Description :
    Specifies the product-specific name to which the stateless session bean should be mapped.
    You can also use this attribute to specify the JNDI name of this stateless session bean. WebLogic Server uses the value of the mappedName attribute when creating the bean’s global JNDI name. In particular, the JNDI name will be:
    mappedName#name_of_businessInterface
    where name_of_businessInterface is the fully qualified name of the business interface of this session bean.
    For example, if you specify mappedName="bank" and the fully qualified name of the business interface is com.CheckingAccount, then the JNDI of the business interface is bank#com.CheckingAccount.
    6: Conforming to the above specification, the sample EJB deployed on our application server has the binding name(as reflected in the jndi tree) as follows :
    ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSessionBeanRemote
    A jndi lookup using this name succeeds :
    InitialContext.doLookup("ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSesionBeanRemote");
    7: Now,we want the binding name to be a simple string i.e the lookup must be something like :
    InitialContext.doLookup("ASimpleSessionEJB");
    8: To implement point-7,we tried using the ejb-jar.xml and weblogic-ejb-jar.xml as follows :
    ->ejb-jar.xml
    <?xml version="1.0" encoding="ASCII"?>
    <ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0">
    <display-name>ejb</display-name>
    <enterprise-beans>
         <session>
              <ejb-name>ASimpleSessionBean</ejb-name>
              <ejb-ref>
                   <ejb-ref-name>ASimpleSessionEJB</ejb-ref-name>
                   <remote>com.serverside.ejb.session.ASimpleSessionBeanRemote</remote>
                   <mapped-name>ASimpleSessionEJB</mapped-name>
              </ejb-ref>
         </session>
    </enterprise-beans>
    </ejb-jar>
    ->weblogic-ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <wls: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">
    <!-- server-version: 10.3.0 --><wls:weblogic-enterprise-bean>
         <wls:ejb-name>ASimpleSessionBean</wls:ejb-name>
         <wls:stateless-session-descriptor>
              <wls:business-interface-jndi-name-map>
                   <wls:business-remote>ASimpleSessionBeanRemote</wls:business-remote>
                   <wls:jndi-name>ASimpleSessionEJB</wls:jndi-name>
              </wls:business-interface-jndi-name-map></wls:stateless-session-descriptor>
         <wls:jndi-name>ASimpleSessionEJB</wls:jndi-name>
    </wls:weblogic-enterprise-bean>
    </wls:weblogic-ejb-jar>
    9: Inspite of the point-8,the binding name remains as follows :
    ASimpleSessionEJB#com.serverside.ejb.session.ASimpleSessionBeanRemote
    10: Please guide us about the solution and implementation to attend point-7.
    Thanks

    user13531611 wrote:
    10: Please guide us about the solution and implementation to attend point-7.
    ThanksOkay. I guide you... to the correct forum branch, because this is a Weblogic specific problem. Server specific issues hardly ever get resolved in the Enteprise Javabeans thread.
    http://forums.oracle.com/forums/category.jspa?categoryID=193
    Make a new post there and if you are really decent you post a link to it here so in the off-chance that someone capable to help finds this post and thus can follow it to your real thread.

  • Deploying EJB 3.0 MDB on Weblogic 10.3

    My MDB is as follows:
    package test;
    import javax.ejb.ActivationConfigProperty;
    import javax.ejb.MessageDriven;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    @MessageDriven(mappedName = "mdb01/queue01",
              activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
    public class MDB implements MessageListener {
         public void onMessage(Message message) {
              System.out.println("Received Message: " + message);
    While deploying it on WebLogic 10.3 I get the below error:
    javax.naming.NameNotFoundException: While trying to lookup 'mdb01.queue01' didn't find subcontext 'mdb01'. Resolved ''; remaining name 'mdb01/queue01'
         at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
         at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)
         at javax.naming.InitialContext.lookup(InitialContext.java:392)
    Please advise what configurations I should do in WebLogic in order to deploy this MDB.

    on WebLogic console, go to the "general" tab of your server's page, and click on "view JNDI tree". there you can see whether your queue has been deployed to the server.
    if not there, verify that the queue has been properly targeted. it can be tricky, and I suggest you to use subdeployments.

  • Writing a Standalone Client for EJB 3.0 Bean For Weblogic 10

    Steps for Writing a Standalone Client
    Client Code
    package com.client;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.rmi.PortableRemoteObject;
    import com.StatelessService;
    public class StatelessClient {
         public static void main(String [] args){
              Context ctx = null;
              try {
                   ctx = getInitialContext("t3://localhost:7001/protossbservice","weblogic","weblogic");
                   Object ref = ctx.lookup("StatelessService#"+StatelessService.class.getName());
                   StatelessService service = (StatelessService)PortableRemoteObject.narrow(ref,StatelessService.class);     
                   System.out.println("StatelessClient.getMessage() ++");
                   String  message = service.getMessage();
                   System.out.println("StatelessClient.getMessage --");
                        System.out.println("Message from Bean "+message);
         } catch (NamingException e) {
                   e.printStackTrace();
         private static Context getInitialContext(String url, String user, String password) throws NamingException {
            Properties h = new Properties();
            h.put(Context.INITIAL_CONTEXT_FACTORY,
                    "weblogic.jndi.WLInitialContextFactory");
            h.put(Context.PROVIDER_URL, url);
            h.put(Context.SECURITY_PRINCIPAL, user);
            h.put(Context.SECURITY_CREDENTIALS, password);
            return new InitialContext(h);
    Business Interface
    package com;
    public interface StatelessService {
         public String getMessage();
    Stateless Session Bean
    package com;
    import javax.annotation.PostConstruct;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    * Test Stateless Session Bean
    @Stateless(mappedName="StatelessService")
    @Remote(StatelessService.class)
    public class StatelessServiceBean implements StatelessService {
         public String getMessage(){
              return "I am invoked";

    emekaco wrote:
    Hi,
    I am a trainee although with a good background in java.
    I'm urgently in need of a free ebook for EJB 3.0 with the latest version of Netbean. Pls, help me with one if you have. my email is [email protected]
    http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss
    Here's a good free e-book but without Netbean. It covers everything you would need to know about EJBs.
    >
    Again, is container managed bean good for a big project?
    The question is too vague to be answered. It's a design decision that needs more details.

  • Inject EJB using @EJB in Servlet Filter on Weblogic 11g

    Hi All,
    I want to inject the EJB (Local interface) into the Servlet Filter and the EAR is deployed on Weblogic 11g.
    My question is:
    Shall the @EJB Annotation work on Weblogic 11g or it will be ignored in case of Servlet or Servlet Filter?
    OR
    I have to do look up as below and mention the references in web.xml and weblogic xml file:
    I know below code should be used when you have remote interface.
    Hashtable env = new Hashtable();
    env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
    Context ctx = new InitialContext( env );
    ctx.lookup( "myejb" );
    Thanks

    Hi,
    It should work in 11g.
    Regards,
    Kal

  • EJB(EAR file) lookup from separate WAR file

    Hi
    I have 2 applications (EAR and WAR) deployed in an OC4J instance using Oracle 10g. All my EJB components are in my EAR file and all my front-end/servlet component are in the WAR file. My lookup in the servlet fails, like:
    05/01/21 13:47:05 javax.naming.NameNotFoundException: SessionEJB not found
    05/01/21 13:47:05 at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:149)
    05/01/21 13:47:05 at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:248)
    05/01/21 13:47:05 at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:119)
    05/01/21 13:47:05 at javax.naming.InitialContext.lookup(InitialContext.java:347)
    05/01/21 13:47:05 at efdw.eap.servlet.SessionEJBAction.execute(SessionEJBAction.java:48)
    05/01/21 13:47:05 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    05/01/21 13:47:05 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    05/01/21 13:47:05 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    05/01/21 13:47:05 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    05/01/21 13:47:05 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    05/01/21 13:47:05 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    05/01/21 13:47:05 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    05/01/21 13:47:05 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    05/01/21 13:47:05 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    05/01/21 13:47:05 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    05/01/21 13:47:05 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    05/01/21 13:47:05 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    05/01/21 13:47:05 at java.lang.Thread.run(Thread.java:534)
    EJB reference in web.xml looks like:
    <ejb-ref>
    <ejb-ref-name>SessionEJB</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.app.bean.SessionEJBHome</home>
    <remote>com.app.bean.SessionEJB</remote>
    </ejb-ref>
    I've added the "parent" attribute in server.xml, something like:
    <application name="myapp" path="../applications/myapp.ear" auto-start="true" />
    <application name="myweb" path="../applications/myweb.ear" auto-start="true" parent="myapp" />
    but the sever.xml file gets reset and there is no parent attribute in the file
    lookup in my servlet:
    Context ctx = new InitialContext();
    Object objref = ctx.lookup("SessionEJB");
    sessionEJBHome = (SessionEJBHome)PortableRemoteObject.narrow(objref, SessionEJBHome.class);
    beanRemote = sessionEJBHome.create();
    I also tried using the jndi.properties file and by specifying context attributes (PROVIDER_URL,INITIAL_CONTEXT_FACTORY,..) nothing worked.
    Is there a way I can configure the jndi tree like in weblogic? How do I need to configure the lookup?

    Hi Naga,
    You have to lookup the ejb as follows:
    Object objref = ctx.lookup("java:comp/env/ejb/SessionEJB");
    location tag in orion-ejb-jar.xml for the EJB determines where the JNDI-name to which this bean will be bound documented in EJB Guide at http://download-west.oracle.com/docs/cd/B14099_01/web.1012/b15505/dtdxml001.htm#sthref1130
    <ejb-ref-mapping ... > in orion-web.xml :
    This element creates a mapping between an EJB reference, defined in an <ejb-ref> element, and a JNDI location when deploying.
    The <ejb-ref> element can appear within the <web-app> element of orion-web.xml or web.xml and is used to declare a reference to an EJB.
    -Debu

  • Client using ejb-ref to lookup

    Hi,
         I read the docs, I searched for answers but there are still some things I don't
    understand regarding a stand alone client application to a weblogic server 8.1
    that could look up a bean using ejb-ref. I don't want to use the JNDI name.
         There is the client-application.xml and the MyClientJar.runtime.xml but i'm not
    sure I understand where to put them. I have the client-application.xml in my
    client jar, the runtime.xml one in the same directory like specified in the
    documentation, I tried to put the xml and the jar in my classpath and running
    the client, no success the client cannot lookup using ejb-ref
         I read that MyClientJar.jar should go in my ServerModule.ear so I did that too,
    still doesn't work.
         Something I'm not doing right or something I don't understand.
         Any help or comments appreciated
         Thank You
         Max

    Hi,
         I read the docs, I searched for answers but there are still some things I don't
    understand regarding a stand alone client application to a weblogic server 8.1
    that could look up a bean using ejb-ref. I don't want to use the JNDI name.
         There is the client-application.xml and the MyClientJar.runtime.xml but i'm not
    sure I understand where to put them. I have the client-application.xml in my
    client jar, the runtime.xml one in the same directory like specified in the
    documentation, I tried to put the xml and the jar in my classpath and running
    the client, no success the client cannot lookup using ejb-ref
         I read that MyClientJar.jar should go in my ServerModule.ear so I did that too,
    still doesn't work.
         Something I'm not doing right or something I don't understand.
         Any help or comments appreciated
         Thank You
         Max

  • EJB 3.0, BC4J and weblogic managed server

    Hi, I've got a problem using EJB 3.0 with a BC4J Application module in a weblogic managed server.
    My bean is a stateless session bean that use BC4J for database transaction.
    When I call the bean the first time, It returns de values I need, without problem. If I do the same call again, I always get "null". I deployed the same bean on the AdminServer, linking to the same DataSource, It works fine and I never got a null result.
    My application module is created insid my EJB abstract class by :
    _am = (BaseServiceImpl)Configuration.createRootApplicationModule(adfModel, adfConfiguration);*
    Where adfModel and adfConfiguration are configured through annotations in my EJB Implementation.
    In my abstract EJB, I have a methode with a +@PreDestroy+ method like that :
    +@PreDestroy+
    *protected void releaseModele() {*
    *if (_am != null) {*
    Configuration.releaseRootApplicationModule(_am, false);
    _am = null;*
    My Data Source on the server is defined as Supporting Global Transaction, one-phase commit. I activated the BC4J Logs on the server to see what was going on and I see that the JDBC seems to close after the first call :
    *** closing jdbc connection now **** (weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_T4CConnection@0)
    And that is when I've got the error on the server :
    oracle.jbo.InvalidObjAccessException: JBO-25036: An invalid object operation was invoked on type View Object with name AppModAD
    So, my JDBC connection seems to close somewhere beetween the first and the second call, but only on a managed server... Someone has ever encountered a problem like that?
    Maybe there is something with the configuration of a datasource on a managed server? Or with the lifecycle of an

    The solution was to NOT have glabal transaction checked in the configuration of the data-source and "Failover Transaction State Upon Managed Release" uncked in the configuration of the Business component configuration.

  • Exception while a session been lookup on weblogic 10.3.3 using wlclient.jar

    Hi,
    I am upgrading to weblogic 10.3.3.
    I have a client that downloads the required to the client machines using Java web start 6.
    I am using wlclient.jar at the client side.
    When I am trying to lookup for a session bean it is throwing the below exception at the client side.
    java.rmi.MarshalException: CORBA MARSHAL 0 No; nested exception is:
    org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
    at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Unknown Source)
    at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)
    at com.mbt.expert.server.util._ServerDBQueryObjectRemote_Stub.getExchangeList(Unknown Source)
    at com.mbt.expert.util.DBQueryObject.getExchangeList(DBQueryObject.java:419)
    at com.mbt.expert.view.dialogs.OpenExchangeDialog.actionPerformed(OpenExchangeDialog.java:425)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.Dialog$1.run(Unknown Source)
    at java.awt.Dialog$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Unknown Source)
    at com.mbt.expert.view.dialogs.OpenExchangeDialog.displayDialog(OpenExchangeDialog.java:606)
    at com.mbt.expert.mdi.actions.OpenExchangeAction.execute(OpenExchangeAction.java:204)
    at com.mbt.mdi.MDICommand.actionPerformed(MDICommand.java:47)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: No
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at com.sun.corba.se.impl.protocol.gio pmsgheaders.MessageBase.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown Source)
    at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
    ... 80 more
    I have checked the server logs and the server is able to receive the request from the client and fetching the required details.
    I am sending these details to the client by adding to a Vector.
    I have observed one more thing, the same is working in other machine which is in another network.
    I have also tried with the other wl*.jar s but giving different exceptions.
    My server classpath consists of weblogic.jar.
    Do I have to include the client jars in my server classpath?
    Please suggest me how to resolve this.
    Please help me here :)

    Thanks for your time, :)
    I have tried all the three wl*client jars, but no use. :(
    Got the same error for wlclient.jar and wlfullclient.jar.
    And for wlt3client.jar I got some different error which is very strange...
    java.lang.AssertionError: Failed to generate class for com.mbt.expert.server.session.LoginSessionBean_tqw6yu_HomeImpl_1033_WLStub
    at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:797)
    at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:786)
    at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:74)
    at weblogic.rmi.internal.StubInfo.resolveObject(StubInfo.java:213)
    at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:207)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at java.io.ObjectStreamClass.invokeReadResolve(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197)
    at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:598)
    at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at weblogic.jndi.internal.ServerNamingNode_1033_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:405)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at com.mbt.expert.mdi.ExpertVariable.getLoginSession(ExpertVariable.java:455)
    at com.mbt.expert.view.dialogs.Login.okPressed(Login.java:187)
    at com.mbt.expert.view.dialogs.Login.keyPressed(Login.java:141)
    at java.awt.Component.processKeyEvent(Unknown Source)
    at javax.swing.JComponent.processKeyEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.Dialog$1.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:795)
    ... 55 more
    Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.ClassLoader.getSystemClassLoader(Unknown Source)
    at weblogic.utils.classloaders.AugmentableClassLoaderManager.getAugmentableClassLoader(AugmentableClassLoaderManager.java:48)
    at weblogic.rmi.internal.ClientRuntimeDescriptor.findLoader(ClientRuntimeDescriptor.java:254)
    at weblogic.rmi.internal.ClientRuntimeDescriptor.getInterfaces(ClientRuntimeDescriptor.java:132)
    at weblogic.rmi.internal.StubInfo.getInterfaces(StubInfo.java:77)
    at com.mbt.expert.server.session.LoginSessionBean_tqw6yu_HomeImpl_1033_WLStub.ensureInitialized(Unknown Source)
    at com.mbt.expert.server.session.LoginSessionBean_tqw6yu_HomeImpl_1033_WLStub.<init>(Unknown Source)
    ... 60 more
    Please tell me how can I get rid of this??

  • Memory leak in a client using EJBs deployed in a Bea Weblogic 10.0.0 cluste

    Hi all,
    We are having a memory leak in a client using stateless EJBs deployed in cluster. The client is a Tomcat 6.0.18 with java 6 but it is reproduced using Tomcat 5 with java 5. The client is calling a Weblogic Server 10.0 making
    calls to an EJB deployed in cluster that has two instances installed in two different machines.
    The client works fine if we shutdown one of the server instances and so when the client is using only one instance.
    Resuming the environment:
    Client Side:
    1 HP-Itanium machine with HP-UX.
    1 Tomcat 6 with java 6 (reproduced with java 5)
    Bea Weblogic client (wlclient.jar) for Weblogic 10.0.0
    Server Side:
    2 HP-Itanium machines with HP-UX
    Bea Weblogic Server 10.0.0 installed in both machines
    An unique domain
    Two Bea instances (one per machines) associated to a Bea Cluster
    EJBs deployed in both instances
    We have monitored the memory consumed in Tomcat and we have noticed that the VM memory PS OLD GEN grows up permanently when we make tests having the two server side Bea Instances up. We have extended
    the memory VM parameters in Tomcat client till 1G and it's only a way to delay the end: the free memory is empty, the GC is not able to free no more byte and the CPU is 100% consumed by the GC work. At the end Tomcat Client
    doesn't accept more http petitions and must be restarted.
    Besides, we have studied the VM memory in Tomcat using jmap and importing it using Eclipse Memory Analyzer. We have seen some strange memory blocks of several Mbytes that are always growing up and that are stored
    under data structures in the package com.sun.corba:
    com.sun.corba.se.impl.legacy.connection.SocketFactoryConnectionImpl (4.5Mb)
    |
    -> com.sun.corba.se.impl.transport.CorbaResponseWaitingRoomImpl
    |
    -> java.util.Hashtable
    |
    -> java.util.Hashtable$Entry
    |
    -> java.util.Hashtable$Entry
    -> java.util.Hashtable$Entry
    -> java.util.Hashtable$Entry
    Has anybody any idea about this problem?
    Thanks in advance.

    Hi all,
    We are having a memory leak in a client using stateless EJBs deployed in cluster. The client is a Tomcat 6.0.18 with java 6 but it is reproduced using Tomcat 5 with java 5. The client is calling a Weblogic Server 10.0 making
    calls to an EJB deployed in cluster that has two instances installed in two different machines.
    The client works fine if we shutdown one of the server instances and so when the client is using only one instance.
    Resuming the environment:
    Client Side:
    1 HP-Itanium machine with HP-UX.
    1 Tomcat 6 with java 6 (reproduced with java 5)
    Bea Weblogic client (wlclient.jar) for Weblogic 10.0.0
    Server Side:
    2 HP-Itanium machines with HP-UX
    Bea Weblogic Server 10.0.0 installed in both machines
    An unique domain
    Two Bea instances (one per machines) associated to a Bea Cluster
    EJBs deployed in both instances
    We have monitored the memory consumed in Tomcat and we have noticed that the VM memory PS OLD GEN grows up permanently when we make tests having the two server side Bea Instances up. We have extended
    the memory VM parameters in Tomcat client till 1G and it's only a way to delay the end: the free memory is empty, the GC is not able to free no more byte and the CPU is 100% consumed by the GC work. At the end Tomcat Client
    doesn't accept more http petitions and must be restarted.
    Besides, we have studied the VM memory in Tomcat using jmap and importing it using Eclipse Memory Analyzer. We have seen some strange memory blocks of several Mbytes that are always growing up and that are stored
    under data structures in the package com.sun.corba:
    com.sun.corba.se.impl.legacy.connection.SocketFactoryConnectionImpl (4.5Mb)
    |
    -> com.sun.corba.se.impl.transport.CorbaResponseWaitingRoomImpl
    |
    -> java.util.Hashtable
    |
    -> java.util.Hashtable$Entry
    |
    -> java.util.Hashtable$Entry
    -> java.util.Hashtable$Entry
    -> java.util.Hashtable$Entry
    Has anybody any idea about this problem?
    Thanks in advance.

  • EJB - Tutorial giving error in Weblogic 8.1 Deployment - Help

    I am a EJB newbie, i tried deploying the Demo.jar and i get the following error on deployment
    Please help
    Thanks in Advance
    drg
    Exception:weblogic.management.ApplicationException: prepare failed for Demo Module: Demo Error: Exception preparing module: EJBModule(Demo,status=NEW) Unable to deploy EJB: Demo.jar from Demo.jar: In EJB DemoBean, references to javax.ejb.EJBContext, javax.ejb.SessionContext, or javax.ejb.EntityContext must not be transient. at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:268) at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232) at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810) at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766) at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407) at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493) at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784) at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178) weblogic.ejb20.compliance.ComplianceException: In EJB DemoBean, references to javax.ejb.EJBContext, javax.ejb.SessionContext, or javax.ejb.EntityContext must not be transient. at weblogic.ejb20.compliance.SessionBeanClassChecker.checkEJBContextIsNotTransient(SessionBeanClassChecker.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:278) at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232) at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810) at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766) at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407) at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493) at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784) at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    [Deployer:149033]preparing application Demo on cosmosserver
    [Deployer:149033]failed application Demo on cosmosserver
    [Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application Demo on cosmosserver.: Exception:weblogic.management.ApplicationException: prepare failed for Demo Module: Demo Error: Exception preparing module: EJBModule(Demo,status=NEW) Unable to deploy EJB: Demo.jar from Demo.jar: In EJB DemoBean, references to javax.ejb.EJBContext, javax.ejb.SessionContext, or javax.ejb.EntityContext must not be transient. at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:268) at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232) at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810) at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766) at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407) at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493) at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784) at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178) weblogic.ejb20.compliance.ComplianceException: In EJB DemoBean, references to javax.ejb.EJBContext, javax.ejb.SessionContext, or javax.ejb.EntityContext must not be transient. at weblogic.ejb20.compliance.SessionBeanClassChecker.checkEJBContextIsNotTransient(SessionBeanClassChecker.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:278) at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232) at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810) at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766) at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476) at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407) at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493) at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784) at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

    Could you post the code for your DemoBean?
    I suspect that you are using a really old tutorial on EJB where the EJBContext, SessionContext or EntityContext were declared transient. This was, I believe, the case with EJB 1.0. You would need to remove the transient from the context declaration, if that is the case.

  • Need a help to create ejb application in netbeans with weblogic 9.2

    Hi guys,
    I am new to EJB..can anyone guide me to create a EJB application in netbeans 5.5 with weblogic server 9.2 ..
    thank u in advance..

    Hi guys,
    If there is no one to help me with this so simple project then I will have to quit trying. I am getting to much pressure to get this done and I just don't know how to proceed anymore. I have found a document on OTN that explain the basics of binding but it's to vast and too complicated under pressure. If someone could help me to bind this LOV I would appreciate this so much and then I could relax a little and read all the good documents that I have found on OTN.
    This is my last chance.
    Thank you!

Maybe you are looking for

  • Is there a way of sending photos via iMessage on my macbook air?

    Am I missing something really obvious?! There doesn't seem to be an option on iMessage via Macbook air to attach and send a photo / video.  My iphone works fine for this. Help?

  • Can not be read from or written to

    OK, so I've had my Gen 3 for several years, I recently restored it and formated it for my windows machine to transfer some files from my windows to my Mac. Upon restoring it back and refortmatting it to Mac, I learned that it now gives me an error me

  • Random slowdown of BufferedImage painting.

    Relying on another thread that dealed with painting background image in GUI using Borders, I wrote a custom Border that display an image in the background. This is quite smart and stylish, it works and looks beautifull, except that..... I get sometim

  • Integrating process flows

    Hi All, I had different projects in my OWB and each process has its process flow which has several mappings in it. I want to integrate all of these process flows from different projects into a single process flow where I can either run two process fl

  • STO config - supplying plant as vendor

    Hi How can I maintain a plant as a vendor for stock transport order. What changes should I do in the vendor master . Thanks Thara