Classes, Stateful EJBs and EJB Container

Hi,
We have several doubts about classes, servlets, and EJBs.
We have been told that the instance of non-static classes from JSPs or servlets
can be a problem if we have a big number of clients connecting to weblogic (or
any other app server). Would it be a problem? Is it a better practice to instantiate
those classes from EJBs?
We have been told that EJBs are managed by the EJB container, and it uses a pool
for serving them to clients, passivating and activating them. This would include
the classes instantiated inside them. Is it true?
If all our guesses are true, the better way to implement a search with pagination
would be a stateful EJB, using handlers to save it in the client's session. But
we've heard that stateful EJBs are really bad for server's perfomance. Is it true?
We are using Weblogic 7.0. If so, what are they useful for???
If they can be a problem, how to build that searching using stateless EJBs?
Best regards,
Ignacio Sanchez

You're right, the concrete tag to use seems to be:
<replication-type>InMemory</replication-type>
Anyway, do you have any further explanation on Stateful's behaviour with many
clients and pagination implementation?
"Stanley Beamish" <[email protected]> wrote:
>
"Ignacio Sanchez" <[email protected]> wrote in message
news:[email protected]...
Thanks for your replies.
Anyway, I still have some questions about stateful EJBs. In a clusteredenvironment,
we've been told that stateful EJBs are only balanced before create()method. So,
if we have already "created" the Remote interface, we're using it,and the
server
fails and must be balanced to another instance, what will happen? Willwe
lost
that Remote interface and data included in it?
Not necessarily, you can enable replication, which means that your stateful
EJB's state (values of i-vars) can be replicated across nodes in a cluster.
Search through the WLS cluster documentation for details.
SB
And about your suggestion on pagination using stateless. Could youplease
explain
it in more detail? I haven't understood it well.
Thank you very much for your attention.
"Sri" <[email protected]> wrote:
Hi,
Look below for my coments.
S
"Ignacio Sanchez" <[email protected]> wrote:
Hi,
We have several doubts about classes, servlets, and EJBs.
We have been told that the instance of non-static classes from JSPsor
servlets
can be a problem if we have a big number of clients connecting to
weblogic
(or
any other app server). Would it be a problem? Is it a better practice
to instantiate
those classes from EJBs?It all boils down to your architecture. If you have a lot of clients
connecting
to web container then and if each client needs objects stored in session
then
you have to refactor your object distribution. But this could be avoided
by separating
static content from dynamic content (using proxies, load balancersetc),
having
more web containers etc. It's not necessary to instantiate these classes
in EJBs
always (then you are increasing your memory footprint). The generalguidelne
is
to do more heavy duty work as you go deeper into tiers hopefully handling
less
connections etc.
We have been told that EJBs are managed by the EJB container, and
it
uses a pool
for serving them to clients, passivating and activating them. Thiswould
include
the classes instantiated inside them. Is it true?
True.
If all our guesses are true, the better way to implement a search
with
pagination
would be a stateful EJB, using handlers to save it in the client'ssession.
But
we've heard that stateful EJBs are really bad for server's perfomance.
Is it true?
We are using Weblogic 7.0. If so, what are they useful for???
True if misused as stateful EJBs, just like HTTP sessions could bereplicated
and could be activated/passivated.
If they can be a problem, how to build that searching using stateless
EJBs?
You could cache searchs and pass identity and page numbers to theSLSB.
Best regards,
Ignacio Sanchez

Similar Messages

  • Dynamic Class Loading in an EJB Container

    Hello,
    We have a need to load classes from a nonstandard place with in an ejb container, ie a database or secure store. In order to do so we have created a custom class loader. Two issues have come up we have not been able to solve, and perhaps some one knows the answer to.
    Issue 1.
    Given the following code:
    public static void main(String args[])
    MyClassLoader loader = new MyClassLoader("lic.dat");
    System.out.println("Loading class ..." + "TestObject");
    Object o = Class.forName("TestObject",true,loader).newInstance();
    System.out.println("Object:" + o.toString());
    TestObject tstObj = (TestObject) o;
    tstObj.doIt();
    What happens when executed is as follows. Class.forName calls our loader and does load the class as we hoped, it returns it as well, and the o.toString() properly executes just fine. The cast of the object to the actual TestObject fails with a class not found exception. We know why this happens but don't know what to do about it. It happens because the class that contains main was loaded by the system class loader (the primordial class loader as its sometimes called), That class loader does not know about TestObject, so when we cast even though the class is "loaded" in memory the class we are in has no knowledge of it, and uses its class loader to attempt to find it, which fails.
    > So the question is how do you let the main class know to use our class loader instead of
    the system class loader dispite the fact is was loaded by the system class loader.
    Issue 2:
    To make matters worse we want to do this with in an EJB container. So it now begs the question how do you inform an EJB container to use a specific class loader for some classes?
    Mike...

    Holy crap! We are in a similar situation. In creating a plugin engine that dynamically loads classes we use a new class loader for each plugin. The purpose is so that we can easily unload and/or reload a class at runtime. This is a feature supposedly done by J2EE app servers for hot-deploy.
    So our plugins are packaged as JAR files. If you put any class in the CLASSPATH, the JVM class loader (or the class loader of the class that is loading the plugin(s)), will load the class. The JavaDoc API states that the parent classloader is first used to see if it can find the class. Even if you create a new URLClassLoader with NULL for parent, it will always use the JVM class loader as its parent. So, ideally, in our couse, plugins will be at web sites, network drives, or outside of the classpath of the application and JVM.
    This feature has two benefits. First, at runtime, new updates of plugins can be loaded without having to restart the app. We are even handling versions and dependencies. Second, during development, especially of large apps that have a long startup time, being able to reload only one plugin as opposed to the annoying startup time of Java apps is great! Speeds up development greatly.
    So, our problem sounds just like yours. Apparently, the Client, which creates an instance of the plugin engine, tries to access a plugin (after the engine loades it via a new classloader instance for each plugin). Apparently, it says NoDefClassFound, because as you say, the client classloader has no idea about the plugin class loaded by another classloader.
    My co-developer came up with one solution, which I really dont like, but seems to be the only way. The client MUST have the class (java .class file) in its classpath in order to work with the class loaded by another class loader. Much like how in an EJB container, the web server calling to EJB MUST contain the Home and Remote interface .class files in its classpath, the same thing needs to be done here. For us, this means if a plugin depends on 5 others, it must contain ALL of the .class files of those plugins it depends on, so that the classloader instance that loads the plugin, can also see those classes and work with them.
    Have you got any other ideas? I really dislike that this has to be done in this manner. It seems to me that the JVM should be able to allow various class loaders to work with one another in such a way that if a client loaded by one classloader has an import statement in it to use a class, the JVM should be able to fetch the .class out of the other classloader and share it, or something!
    This seems to me that there really is no way to actually properly unload and then reload a class so that the JVM will discard and free up the previous class completely, while using the new class.
    I would be interested in discussing this topic further. Maybe some others will join in and help out on this topic. I am surprised there isn't a top-level forum topic about things like class loaders, JVM, etc. I wish there was a way to add one!

  • Web Service-Client for stateful session EJB container

    Do you know, how to write a Web Service-Client to connect a stateful session EJB container?
    A stateful session EJB container ist created with Web Logic 8.1.
    Message was edited by n.t.c at Dec 14, 2004 6:09 AM

    Pedja thanks for reply.
    I still dont understand what is wrong with my example.
    The first peace of the code i wrote (getting the reference to the remote interface object) works pretty well, and even more it is produced automatically by JDeveloper, so why we cant get a reference to the local interface object the same way?
    Certanly we should use the local interface for getting access to the resource functioning under the same local jvm and i think it doesnt metter wich app server we really use wls or oas or others
    Thanks. Alex.

  • Using Timer and TimerTask classes in EJB's(J2EE)

    Does J2EE allow us to use Timer and TimerTask classes from java.util package in SessionBean EJB's ( Statless or Statefull )?.
    If J2EE does allow, I am not sure how things work in practical, Lets take simple example where a stateless SessionBean creates a Timer class
    and schedules a task to be executed after 5 hours and returns. Assuming
    GC kicks in many times in 5 hours, I wonder if the Timer object created by survives the GC run's so that it can execute the scheduled tasks.
    My gut feeling says that the Timer Object will not survive.. Just
    want to confirm that.
    I will be interested to know If there are any techiniques that can make
    the usage of Timer and TimeTask classes in EJB's possible as well as reliable with minmum impact on over all performance.

    Have a look at J2EE 1.4. I think they add a timer service for EJBs there...
    Kai

  • Security & Servlet engine and ejb container on different servers

              When you have the servlet container and the ejb container on different physical servers,
              how is the rmi connection meant to to be done while still maintaining the seucrity
              propagation from servlet to ejb tier?
              Assume that my user is already authenticated (forms) on the servlet tier. Do we then
              create a dedicated connection (InitialContext + url/username/password properties)
              to the ejb tier and store this connection in the HttpSession? (basically authenticating
              a 2nd time)
              OR,
              can the servlet container make a generic connection to the ejb container, and pass
              the users security context to the ejb tier transparantly?
              -Sam
              

    Nick Minutello <[email protected]> wrote:
              > Assuming that web container security is being employed, I guess the fundamental question
              > is: Is it necessary to create a "connection" (ie. an InitialConext) per user, or
              > can a "global" initial context be shared (in the end, the TCP connection is shared
              > anyway)?
              It doesn't create a 'connection' per user - when you use JNDI authentication (specifying
              principal and credentials when constructing InitialContext) it associates security info
              with the current thread for the duration of the request. If you cache InitialContext and
              use it later on some other thread it will not do anything.
              > Does it really matter?
              No ;-)
              > Thanks,
              > Nick
              > "Dimitri I. Rakitine" <[email protected]> wrote:
              >>Nick Minutello <[email protected]> wrote:
              >>
              >>
              >>> OK, so when I create the InitialContext, I just specify the URL (to call
              >>the remote
              >>> EJB container). The user ID and credentials are mapped automatically.
              >>
              >>> I obviously also need to cache the initialContext variable in my HTTPSession
              >>object?
              >>
              >>> What would happen if I had one InitialContext for the whole servlet engine
              >>- and
              >>> each thread used that. Would the thread (security) context still get passed
              >>- or
              >>> would the credentials for the original connection get used?
              >>
              >>If you use web-app security, container will associate security info with
              >>the current
              >>thread before invoking your servlet. If you do not use it and cache InitialContext,
              >>
              >>then the current user will always be 'guest' (except for the very first
              >>time when
              >>application calls 'new InitialContext()' with username/password.
              >>
              >>
              >>> Thankyou.
              >>> -Sam
              >>
              >>
              >>> "Vinod Mehra" <[email protected]> wrote:
              >>>>
              >>>>"Sam the bad cat" <[email protected]> wrote in message
              >>>>news:[email protected]...
              >>>>>
              >>>>>
              >>>>> When you have the servlet container and the ejb container on different
              >>>>physical servers,
              >>>>> how is the rmi connection meant to to be done while still maintaining
              >>>>the
              >>>>seucrity
              >>>>> propagation from servlet to ejb tier?
              >>>>>
              >>>>> Assume that my user is already authenticated (forms) on the servlet
              >>tier.
              >>>>Do we then
              >>>>> create a dedicated connection (InitialContext + url/username/password
              >>>>properties)
              >>>>> to the ejb tier and store this connection in the HttpSession? (basically
              >>>>authenticating
              >>>>> a 2nd time)
              >>>>>
              >>>>> OR,
              >>>>> can the servlet container make a generic connection to the ejb container,
              >>>>and pass
              >>>>> the users security context to the ejb tier transparantly?
              >>>>
              >>>>If the user has logged in already, ie the authenticated user is already
              >>>>in
              >>>>the execute
              >>>>thread, the identity should be propgated to the ejb tier transparantly,
              >>>>when
              >>>>you create the
              >>>>new initial context.
              >>>>
              >>>>--Vinod.
              >>>>
              >>>>
              >>>>>
              >>>>> -Sam
              >>>>>
              >>>>>
              >>>>
              >>>>
              >>
              >>--
              >>Dimitri
              >>
              Dimitri
              

  • Using J2EE EJB Container and Oracle 8.1.7

    I am trying to setup the J2EE EJB container to use and Oracle 8.1.7 database instead of Cloudscape. So far I have done the following
    0. Created the table for the Savings Account tutorial in the Oracle Database.
    1. Added the Classes12.jar (Oracle's latest JDBC thin drivers) to my CLASSPATH
    2. Under "Server Configuration" I added the standard/jdbc drivers value: "oracle.jdbc.driver.OracleDriver".
    3. Under "Server Configuration" I added the standard/datasource value: JNDI name "jdbc/Oracle" and JDBC URL "jdbc:oracle:thin:@10.1.1.254:1521:DEV".
    4. For the savings account tutorial, when deploying I specified "jdbc/Oracle" for the reference "jdbc/SavingsAccountDB".
    I have gotten this tutorial to work using the Cloudscape database. After I did the previous steps and tried to run the client, I get no valid driver available, unable to connect to Oracle.
    What else to I need to do?
    My setup is:
    Windows 2000 Professional
    J2EE (JDK 1.3.1)
    Oracle 8.1.7
    Thank you in advance.

    Exactly which classpath did you add the Oracle JDBC library jar to ?
    The thing that works for me is to have the following line in the file %J2EE_HOME%\bin\userconfig.bat
    set J2EE_CLASSPATH=D:\DownLoad\Oracle\classes12_01.zip;

  • Statistics: stateful ejbs and timeout

    Hi,
    I'm wondering if there is a possiblity to get the number of stateful ejbs that hit the timeout marker. Any hints on that? (I'm not looking for the number of transactions that hit the timeout, but rather of the ejbs - related to the idle-timeout-seconds configuration settings.)
    Regards,
    Andi

    Hi,
    In a clustered environment, we've been told that
    stateful EJBs are only balanced before create()
    method. So, if we have already "created" the Remote
    interface, we're using it, and the server fails and
    must be balanced to another instance, what will
    happen? Will we lost that Remote interface and data
    included in it?no, WEBLogic will failover to another node. You will not lose remote interface and data, because SFSB data are copied among several servers (replication group). Please read WL docs at BEA site. WL has excelent documentation about clusters.
    Maris

  • Web container and EJB container

    Web Container - EJB Container
    What protocol used for communication and how do they communicate with each other?

    Check out the J2EE blueprints:
    http://java.sun.com/j2ee/blueprints/apmTOC.html

  • How to use embeddable EJB container (Java EE 6 / EJB 3.1) on Mac OS?

    To my understanding, the intent of the embeddable EJB 3.1 container is - among others - to support out-of-container testing. I've created a JUnit test case that uses glassfish embeddable for integration testing of ejb 3.1 Light ejbs. I run the tests using Maven.
    I have one general problem and one problem specific to Mac OS (I'm not able to use the embeddable container at all on Mac OS).
    1. First the general problem: the ejb container does not inject or publish classes that are on the test class-path only:
    src>main>java>MyEjb.class
    src>test>java>MyTestEjb.class
    The test case looks like this:
    public class TestCase1b {
         static EJBContainer container;
         @BeforeClass
         public static void initEjbContainer() {
              container = EJBContainer.createEJBContainer();
              for ( Object property : System.getProperties().keySet() ) {
              System.out.print(property + " : ");
              System.out.println(System.getProperty((String)property));
         @Test
         public void canTestWithTransaction() throws NamingException, NotSupportedException, SystemException {
              Context ctx = container.getContext();
              OrderServiceTesterEjb orderServiceTester = (OrderServiceTesterEjb) ctx
                        .lookup("java:global/classes/OrderServiceTesterEjb");
              Assert.assertNotNull(orderServiceTester.testCreateOrderWithTransaction());
         @AfterClass
         public static void closeEjbContainer() {
              container.close();
    The idea with a test-ejb is to mimic the way I typically perform junit integration testing with Spring: the test database i preloaded with test data. Each test-method of the junit test case starts a transaction, invokes the service, evaluates the state of the database and finally performs a rollback. My idea was to mimic that by creating a test ejb (Stateless, REQUIRES_NEW), that injects the EJB to test, calls the method to test, evaluates the result or db state and finally sets rollbackonly before returning. The problem is that the test case can lookup ejbs in src/main/java, but not the "test" ejbs in src/test/java. My workaround is to include the test-EJBs in src/main/java which I think is not acceptable.
    2. Next the Mac-problem:
    The Mac OS JDK 1.6 contains version 1.0 of javax.annotation (jsr 250). EJBs developed with Java EE 6 depends on version 1.1 of javax.annotation. Specifically, one typically need @Resource(lookup=... and @DataSourceDefinition of javax.annotation.sql which are both missing in the JDK. I can compile my EJBs by adding the javaee-api-6.0.jar library to my classpath. But when running unit tests with maven (as described above), a runtime error is reported, stating that the lookup-property of the @Resource annotation is undefined. This is logical, since the boot classpath should have precedence. So I added javaee-api-6.0.jar to the lib/endorsed directory of the jre. Unfortunetely, this triggers a segmentation fault of the Mac OS JVM when running the test. I have no other workaround than switching to windows. Any help / hints are much appreciated.
    /Johan

    Just as an update, we're soon to release the WLS 11g R1 PS2 update, which will contain WLS 10.3.3 just to confuse things.
    As part of that, we're distributing for the first time, an additional .zip version of WLS to make it easier for developers.
    The zip file distribution has no GUI installer -- it's a simple case of unzip, run a script it provides, then start the server.
    The zip file distribution has been specifically tested on Mac OS X and the WLS config/domain scripts automatically adjust as necessary for the Mac OS X java environment.
    Once the zip file distribution is available, we hope that developing against WLS on Mac OS X (and Windows/Linux) will be an easier task.
    -steve-

  • How to get the TransactionManager in a stateful EJB (using JPA toplink)

    I use weblogic 10.3
    This is my stateful EJB and I need to get the TransactionManager because I want to suspend my transaction...
    Here it is ok for the UserTransaction ut but I got an error with the TransactionManager
    EJB Code
    //@Stateless(name = "MyFacadeEJB", mappedName = "MyFacadeEJB")
    @Stateful(name = "MyFacadeEJB", mappedName = "MyFacadeEJB")
    @TransactionManagement(TransactionManagementType.BEAN)
    @Remote
    @Local
    public class MyFacadeEJBBean implements MyFacadeEJB, MyFacadeEJBLocal, Serializable {   
    @Resource javax.transaction.UserTransaction ut;
    @Resource javax.transaction.TransactionManager tm;
    Error Message at the deploy EJB
    Unable to deploy EJB: MyFacadeEJB from PocJTA-PEJB-ejb:
    [EJB:011026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment.
    weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'test.ejb.MyFacadeEJBBean/tm' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation.
         at weblogic.ejb.container.deployer.EnvironmentBuilder.addResourceEnvReferences(EnvironmentBuilder.java:639)
         at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentContext(EJBDeployer.java:247)

    Chpruvos,
    Hi, I ran into a similar issue when specifying WebLogic specific descriptors in ejb-jar.xml and the corresponding weblogic-ejb-jar.xml. I no longer use this approach in our example code - we just use annotations. see: http://wiki.eclipse.org/EclipseLink/Examples/JPA/WebLogic_Web_Tutorial#Tutorial_Source
    My session bean is stateless - I don't know how much it will help with your statefull bean managed config but here are copies of the ejb.jar configuration xml I used to use. All the resource*ref elements (see the resource-description* element) ended up in the weblogic specific weblogic-ejb-jar.xml descriptor file.
    ejb-jar.xml
    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;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"&gt;
    *&lt;enterprise-beans&gt;*
    *&lt;session&gt;*
    *&lt;ejb-name&gt;ApplicationService&lt;/ejb-name&gt;*
    *&lt;ejb-class&gt;org.eclipse.persistence.example.unified.business.ApplicationService&lt;/ejb-class&gt;*
    *&lt;session-type&gt;Stateless&lt;/session-type&gt;*
    +&lt;!-- default to CMP Container managed transations not BMP --&gt;+
    +&lt;!-- transaction-type&gt;Bean&lt;/transaction-type--&gt;+
    +&lt;!-- resource-env-ref id="ResourceEnvRef_1080980284303"&gt;+
    +&lt;resource-env-ref-name&gt;localOracle10RemoteDS&lt;/resource-env-ref-name&gt;+
    +&lt;resource-env-ref-type&gt;javax.sql.DataSource&lt;/resource-env-ref-type&gt;+
    +&lt;/resource-env-ref--&gt;+
    +&lt;!-- resource-ref&gt;+
    +&lt;res-ref-name&gt;localOracle10RemoteDS&lt;/res-ref-name&gt;+
    +&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;+
    +&lt;res-auth&gt;Application&lt;/res-auth&gt;+
    +&lt;/resource-ref--&gt;+
    *&lt;/session&gt;*
    *&lt;/enterprise-beans&gt;*
    &lt;/ejb-jar&gt;
    weblogic-ejb-jar.xml
    &lt;?xml version="1.0"?&gt;
    &lt;weblogic-ejb-jar&gt;
    *&lt;weblogic-enterprise-bean&gt;*
    *&lt;ejb-name&gt;ApplicationService&lt;/ejb-name&gt;*
    *&lt;stateless-session-descriptor&gt;*
    *&lt;pool&gt;*
    *&lt;max-beans-in-free-pool&gt;8&lt;/max-beans-in-free-pool&gt;*
    *&lt;initial-beans-in-free-pool&gt;2&lt;/initial-beans-in-free-pool&gt;*
    *&lt;/pool&gt;*
    *&lt;/stateless-session-descriptor&gt;*
    {color:#008000}&lt;resource-description&gt;
    &lt;res-ref-name&gt;localOracle10RemoteDS&lt;/res-ref-name&gt;
    &lt;jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name&gt;
    &lt;/resource-description&gt;
    &lt;resource-env-description&gt;
    &lt;resource-env-ref-name&gt;localOracle10RemoteDS&lt;/resource-env-ref-name&gt;
    &lt;jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name&gt;
    &lt;/resource-env-description&gt;
    {color}+&lt;!-- jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name--&gt;+
    *&lt;/weblogic-enterprise-bean&gt;*
    &lt;/weblogic-ejb-jar&gt;
    thank you
    /michael
    [http://www.eclipselink.org|http://www.eclipselink.org/]
    Edited by: michael_obrien on Feb 26, 2009 9:56 AM

  • Problems clustering a Weblogic  Stateful EJB 3.0

    Hello!
    I'm developing a Stateful EJB 3.0 with clustering configuration for weblogic 11G. My client gets a reference to the RemoteInterface, invoke a method and it's working. Then I shutdown the server where the EJB was created and the client reinvoke (using the same reference) a method and get's this error:
    javax.ejb.EJBException: Exception waiting for response; nested exception is:
         java.io.EOFException: Connection closed by peer; nested exception is: java.io.EOFException: Connection closed by peer
    java.io.EOFException: Connection closed by peer
         at weblogic.iiop.EndPointImpl.handleCloseConnection(EndPointImpl.java:602)
         at weblogic.iiop.EndPointImpl.processMessage(EndPointImpl.java:545)
         at weblogic.iiop.EndPointImpl.handleMessage(EndPointImpl.java:500)
         at weblogic.iiop.EndPointImpl.dispatch(EndPointImpl.java:324)
         at weblogic.iiop.ConnectionManager.dispatch(ConnectionManager.java:126)
         at weblogic.iiop.MuxableSocketIIOP.dispatch(MuxableSocketIIOP.java:302)
         at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
         at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:915)
         at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:844)
         at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:335)
         at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    javax.ejb.EJBException: Exception waiting for response; nested exception is:
         java.io.EOFException: Connection closed by peer; nested exception is: java.io.EOFException: Connection closed by peer
         at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:109)
         at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:91)
         at $Proxy0.getMas(Unknown Source)
         at com.ibermatica.pruebas.pruebaEJB30SF.getPrueba(pruebaEJB30SF.java:79)
         at com.ibermatica.pruebas.pruebaEJB30SF.main(pruebaEJB30SF.java:26)
    Caused by: java.io.EOFException: Connection closed by peer
         at weblogic.iiop.EndPointImpl.handleCloseConnection(EndPointImpl.java:602)
         at weblogic.iiop.EndPointImpl.processMessage(EndPointImpl.java:545)
         at weblogic.iiop.EndPointImpl.handleMessage(EndPointImpl.java:500)
         at weblogic.iiop.EndPointImpl.dispatch(EndPointImpl.java:324)
         at weblogic.iiop.ConnectionManager.dispatch(ConnectionManager.java:126)
         at weblogic.iiop.MuxableSocketIIOP.dispatch(MuxableSocketIIOP.java:302)
         at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
         at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:915)
         at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:844)
         at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:335)
         at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    The description of my test is:
    +I have a Weblogic cluster (c1, c2)
    +I have developed an 3.0 Stateful EJB (configurated for replication)
    +My client  gets an EJB Instance from c1 and invoke one method (debugging)
    +I stops my client
    +I shutdown my server (c1)
    +My client invokes another EJB method end gets the error described before.
    It seems like the Server don't replicate the EJB.
    My replicatión ejb deployment descriptor is (weblogic.xml):
    <weblogic-enterprise-bean>
    <ejb-name>Session30EJBSFBean</ejb-name>
    <stateful-session-descriptor>
    <stateful-session-clustering>
    <!--<home-is-clusterable>true</home-is-clusterable>
    <home-load-algorithm>random</home-load-algorithm>
    <replication-type>InMemory</replication-type>-->
    <use-serverside-stubs>true</use-serverside-stubs>
    <replication-type>InMemory</replication-type>
    </stateful-session-clustering>
    </stateful-session-descriptor>
    </weblogic-enterprise-bean>
    My ejb bean class is:
    @Stateful(name = "Session30EJBSF", mappedName = "clustering30-cluster301-Session30EJBSF")
    @Remote
    public class Session30EJBSFBean implements Session30EJBSF {
    private SessionContext _context;
    private int contador= 0;
    private String user="";
    public Session30EJBSFBean() {
    public void inicio(String user){
    this.user= user;
    contador=0;
    public void mas(){
    contador++;
    public int getMas(){
    return contador;
    public String getUser(){
    return this.user;
    My Remote EJB:
    import javax.ejb.Remote;
    @Remote
    public interface Session30EJBSF {
    public void inicio(String user);
    public void mas();
    public int getMas();
    public String getUser();
    My client:
    public class pruebaEJB30SF {
    public pruebaEJB30SF() {
    super();
    public static void main(String[] args) {
    pruebaEJB30SF pruebaEJB30SF = new pruebaEJB30SF();
    try {
    pruebaEJB30SF.getPrueba();
    } catch (Exception e) {
    e.printStackTrace();
    public Context getInitialContext() throws NamingException {
    //String url="t3://c1:8001";
    String url="iiop://c1:8001";
    String user="any";
    String password="any";
    Properties p= new Properties();
    //p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");
    p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    p.put(Context.PROVIDER_URL,url);
    p.put(Context.SECURITY_PRINCIPAL,user);
    p.put(Context.SECURITY_CREDENTIALS,password);
    return new InitialContext(p);
    public void getPrueba() throws NamingException, RemoteException,
    CreateException {
    // <PROFILING>
    Context ctx= getInitialContext();
    //2.0 Stateful
    Object ref= ctx.lookup("clustering30-cluster301-Session30EJBSF#.Session30EJBSF");
    Session30EJBSF home= (Session30EJBSF)PortableRemoteObject.narrow(ref, Session30EJBSF.class);
    Session30EJBSF ejb=home;
    ejb.inicio("User1");
    ejb.mas();
    System.out.println( ejb.getMas());// I put here a breakpoint and I shutdown the serer c1
    ejb.mas();
    System.out.println( ejb.getMas());
    ejb.mas();
    System.out.println( ejb.getMas());//Caida
    ejb.mas();
    System.out.println( ejb.getMas());
    I have developed a EJB 2.1 and a EJB 2.1 client and it's working. The most important change betwin ejb 3.0 client and my 2.1 client is that in 2.1 I use the getHandle method and a Home, not a Remote.
    Please, can anyone help me.
    Thanks.

    Hi,
    Please change your Client Code as below: URL must be pointing to the comma Separated address of your ManagedServers Address/Port which are part of Cluster like For Example Suppose you have 2 managedServers in ClusterA ..... t3://MS1Host:8003,MS2Host:8005
    public Context getInitialContext() throws NamingException {
    <strike><font color=red>String url="t3://c1:8001";</font></strike>
    <b>String url="t3://ManagedServer1HostName:port,ManagedServer2HostName:port";</b>
    String user="any";
    String password="any";
    Properties p= new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    p.put(Context.PROVIDER_URL,url);
    p.put(Context.SECURITY_PRINCIPAL,user);
    p.put(Context.SECURITY_CREDENTIALS,password);
    return new InitialContext(p);
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here)

  • Error while setting up existing code--WSAD+EJB container caught java.lang.

    [5/8/08 9:12:31:741 IST] 3bb9beb5 BeanMetaData E CNTR0035E: EJB container caught java.lang.NoClassDefFoundError: com/scb/scp/util/exceptions/SCPException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:1753)
    at java.lang.Class.privateGetPublicMethods(Class.java:1781)
    at java.lang.Class.getMethods(Class.java:896)
    at com.ibm.ejs.container.util.DeploymentUtil.getMethods(DeploymentUtil.java:124)
    at com.ibm.ejs.container.BeanMetaData.initializeBeanMethods(BeanMetaData.java:1522)
    at com.ibm.ejs.container.BeanMetaData.completeInitialization(BeanMetaData.java:1359)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createBeanMetaData(EJBContainerImpl.java:981)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createModuleMetaData(EJBContainerImpl.java:796)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createMetaData(EJBContainerImpl.java:1517)
    at com.ibm.ws.runtime.component.MetaDataMgrImpl.createFactoryMetaData(MetaDataMgrImpl.java:115)
    at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:159)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:350)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:575)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:271)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:249)
    at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:125)
    at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
    at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
    at java.lang.reflect.Method.invoke(Method.java:386)
    at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
    at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:97)
    and is throwing com.ibm.ejs.container.ContainerException: Failed to initialize BeanMetaData instance - caught Throwable; nested exception is:
    java.lang.NoClassDefFoundError: com/scb/scp/util/exceptions/SCPException
    at com.ibm.ejs.container.BeanMetaData.completeInitialization(BeanMetaData.java:1456)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createBeanMetaData(EJBContainerImpl.java:981)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createModuleMetaData(EJBContainerImpl.java:796)
    at com.ibm.ws.runtime.component.EJBContainerImpl.createMetaData(EJBContainerImpl.java:1517)
    at com.ibm.ws.runtime.component.MetaDataMgrImpl.createFactoryMetaData(MetaDataMgrImpl.java:115)
    at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:159)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:350)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:575)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:271)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:249)
    at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:125)
    at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
    at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
    at java.lang.reflect.Method.invoke(Method.java:386)
    at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
    at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:97)
    Caused by: java.lang.NoClassDefFoundError: com/scb/scp/util/exceptions/SCPException

    Hello again,
    What do you exactly mean by saying:
    Did you create the deployment code?
    I deployed the EJB on the Application Server is there anything else i have to do?
    -regards
    Fabian

  • EJB container caught java.lang.NoClassDefFoundError package/classname

    Hello,
    If i start the Websphere 5.1 Test Environment with my EAR deployed in it the following Error appears:
    EJB container caught java.lang.NoClassDefFoundError: package/class
         at java.lang.Class.getDeclaredMethods0(Native Method)
         at java.lang.Class.privateGetDeclaredMethods(Class.java(Compiled Code))
         at java.lang.Class.privateGetPublicMethods(Class.java:1911)
         at java.lang.Class.getMethods(Class.java:909)
         at com.ibm.ejs.container.util.DeploymentUtil.getMethods(DeploymentUtil.java:124)
         at com.ibm.ejs.container.BeanMetaData.initializeBeanMethods(BeanMetaData.java:1566)
         at com.ibm.ejs.container.BeanMetaData.completeInitialization(BeanMetaData.java:1403)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createBeanMetaData(EJBContainerImpl.java:1039)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createModuleMetaData(EJBContainerImpl.java:830)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createMetaData(EJBContainerImpl.java:1575)
         at com.ibm.ws.runtime.component.MetaDataMgrImpl.createFactoryMetaData(MetaDataMgrImpl.java:115)
         at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:159)
         at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:350)
         at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:578)
         at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:311)
         at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:268)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:246)
         at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
         at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
         at java.lang.reflect.Method.invoke(Method.java:391)
         at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:222)
         at java.lang.Thread.run(Thread.java:570)
    Does anyone know where the failure could lie?
    - Thanks and regards
    Fabian

    Hello again,
    What do you exactly mean by saying:
    Did you create the deployment code?
    I deployed the EJB on the Application Server is there anything else i have to do?
    -regards
    Fabian

  • Webserver/jsp engine call into weblogic ejb container

    Which one of these architectures would give the best performance.
              First architecture:
              3 boxes -
              1st box - webserver(IIS or IPlaner) with a JSP engine. (The JSP's
              produce dynamic content.)
              2nd box - weblogic 5.1 hosting EJB's
              3rd box - Oracle or DB2
              The 1st box is used to server up dynamic contect. The JSP's make dynamic
              contect from calls into the EJB container in the 2nd box. The EJB's then
              calls the DB in the 3rd box.
              2nd architecture:
              3 boxes-
              1st box - webserver with weblogic plug-ins for IIS or IPlanet
              2nd box - weblogic 5.1 - hosting JSP pages and EJBs
              3rd box - Oracle or DB2
              The 1st box's webserver just receives the request to JSPs and lets the
              plug-in find the appropriate weblogic instance. The JSPs that are processed
              on the 2nd box make calls into the EJB container on the 2nd box. The EJBs
              then make calls to the DB on the 3rd box.
              thanks
              -cb
              

    thanks you both for you input
              "Cameron Purdy" <[email protected]> wrote in message
              news:[email protected]...
              > It is certainly more efficient in terms of JSP/Servlet to EJB invocations
              if
              > you use WebLogic to do all three (JSP/Servlet/EJB) due to the
              well-designed
              > client stubs for EJBs that do pass-by-reference. If you have lots of
              small
              > invocations to EJBs, that is a good reason to consider WL for all three
              > (JSP/Servlet/EJB).
              >
              > OTOH there are a good number of developers that I have spoken with that
              > prefer other Servlet engines. These developers have had excellent
              > experiences with WL EJB handling, but some issues with JSP/Servlets, or
              > simply needed features offered by other servers. A few may have decided
              on
              > a price basis. Some of the technical issues were related to WL class
              > loading issues that are scheduled to be completely improved in the fall WL
              > release.
              >
              > All of that said, I personally would probably stick with WL to do all
              three
              > (JSP/Servlet/EJB). I believe that I have found most of the problems that
              WL
              > has ;-) and I have come through the other side still really liking the
              > product -- so even it's worst points (like the linkage error that had me
              > pulling out my hair and even searching through the Sun JVM sources ;-)
              > aren't that bad because it is a strong enough product that there are
              always
              > ways to work through or around just about anything. If I had to look at a
              > different JSP/Servlet engine, I would start with Caucho Resin, simply
              > because I like their approach and I know it works well with WL.
              >
              > Lastly remember that in the J2EE world, "no one ever got fired for buying
              > BEA WebLogic!"
              >
              > --
              >
              > Cameron Purdy
              > http://www.tangosol.com
              >
              >
              > "Chris Bick" <[email protected]> wrote in message
              > news:[email protected]...
              > > So you would not support/advise an architecture that has the JSP/Servlet
              > > engine on a different box then weblogic? If this is the case, could you
              > > give some reasons why?
              > >
              > > thanks,
              > > -cb
              > > "Cameron Purdy" <[email protected]> wrote in message
              > > news:[email protected]...
              > > > 1. Your bottleneck will probably be the third box (database server)
              in
              > > > either scenario. That's probably your biggest up-front cost -- making
              > > sure
              > > > the db server is up to the task.
              > > > 2. The second architecture is suggested by WL. The reason is that if
              > box
              > > > #2 (WL) is a cluster, you can theoretically add more boxes easily to
              get
              > > > pseudo-linear scaling for JSP and EJB processing. Of course, that
              only
              > > > helps if your database is not a bottleneck ;-) WL cluster is $17k per
              > > CPU.
              > > > 3. The real answer is that it depends on your application and the
              > number
              > > of
              > > > users that you are expecting. You want to make sure that when your
              site
              > > is
              > > > loaded that there is no significant queueing of requests on the WL
              side.
              > > I
              > > > believe you can see that information in the WL monitor.
              > > >
              > > > --
              > > >
              > > > Cameron Purdy
              > > > http://www.tangosol.com
              > > >
              > > >
              > > > "Chris Bick" <[email protected]> wrote in message
              > > > news:[email protected]...
              > > > > Which one of these architectures would give the best performance.
              > > > >
              > > > > First architecture:
              > > > >
              > > > > 3 boxes -
              > > > >
              > > > > 1st box - webserver(IIS or IPlaner) with a JSP engine. (The
              > > JSP's
              > > > > produce dynamic content.)
              > > > > 2nd box - weblogic 5.1 hosting EJB's
              > > > > 3rd box - Oracle or DB2
              > > > >
              > > > > The 1st box is used to server up dynamic contect. The JSP's make
              > > dynamic
              > > > > contect from calls into the EJB container in the 2nd box. The
              EJB's
              > > then
              > > > > calls the DB in the 3rd box.
              > > > >
              > > > > 2nd architecture:
              > > > >
              > > > > 3 boxes-
              > > > >
              > > > > 1st box - webserver with weblogic plug-ins for IIS or IPlanet
              > > > > 2nd box - weblogic 5.1 - hosting JSP pages and EJBs
              > > > > 3rd box - Oracle or DB2
              > > > >
              > > > > The 1st box's webserver just receives the request to JSPs and lets
              the
              > > > > plug-in find the appropriate weblogic instance. The JSPs that are
              > > > processed
              > > > > on the 2nd box make calls into the EJB container on the 2nd box.
              The
              > > EJBs
              > > > > then make calls to the DB on the 3rd box.
              > > > >
              > > > > thanks
              > > > > -cb
              >
              >
              >
              

  • UnExpected error occured while creating ejb container

    Hey, I am trying to deploy a new bean that I just wrote with a bean that has already been written. My bean is the News bean, the existing bean is the PPSO bean.
    when I deploy, I get the following exception:
    [26/Feb/2004:11:22:42] SEVERE ( 2104): LDR5004: UnExpected error occured while creating ejb container
    java.lang.ClassNotFoundException: com.pragmatics.ppcig.model.ejb.NewsBean_LocalHomeImpl
         at com.iplanet.ias.loader.EJBClassLoader.findClass(EJBClassLoader.java:457)
         at com.iplanet.ias.loader.EJBClassLoader.loadClass(EJBClassLoader.java:585)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
         at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:426)
         at com.sun.ejb.containers.EntityContainer.initializeHome(EntityContainer.java:355)
         at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:230)
         at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
         at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
         at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
         at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
         at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
         at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
         at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
         at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
         at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
         at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
         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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    here are pieces of my deployment descriptor:
    <entity>
              <description>PPSO EJB</description>
              <display-name>PPSO EJB</display-name>
              <ejb-name>PPSO</ejb-name>
              <local-home>com.pragmatics.ppcig.model.ejb.PPSOLocalHome</local-home>
              <local>com.pragmatics.ppcig.model.ejb.PPSOLocal</local>
              <ejb-class>com.pragmatics.ppcig.model.ejb.PPSOBean</ejb-class>
              <persistence-type>Bean</persistence-type>
              <prim-key-class>java.lang.String</prim-key-class>
              <reentrant>False</reentrant>
              <env-entry>
    // - select statements here that don't apply - //
    </entity>
         <entity>
              <description>News EJB</description>
              <display-name>News EJB</display-name>
              <ejb-name>News</ejb-name>
              <local-home>com.pragmatics.ppcig.model.ejb.NewsLocalHome</local-home>
              <local>com.pragmatics.ppcig.model.ejb.NewsLocal</local>
              <ejb-class>com.pragmatics.ppcig.model.ejb.NewsBean</ejb-class>
              <persistence-type>Bean</persistence-type>
              <prim-key-class>java.lang.String</prim-key-class>
              <reentrant>False</reentrant>
              <resource-ref>
                   <res-ref-name>jdbc/ppcigDS</res-ref-name>
                   <res-type>javax.sql.DataSource</res-type>
                   <res-auth>Container</res-auth>
                   <res-sharing-scope>Shareable</res-sharing-scope>
              </resource-ref>
         </entity>
    Any ideas what is causing this error?
    Thanks!

    Hi shanu, thanks for your reply,
    Yes I configured the JMS Objects in my AS before deploying the MDB.
    I set
    - a Queue: RFIDLocatorQueue
    - a connection Factory: RFIDLocatorConnectionFactory
    - and a Physical destination for my logical queue called: RFIDLocatorPhysicalQueue
    The latter was linked to the RFIDLocatorQueue by putting RFIDLocatorPhysicalQueue in the name parameter of the RFIDLocatorQueue.
    Is there maybe something else I forgot to configure ?
    thanks a lot

Maybe you are looking for

  • Use iMac as secondary monitor for my PC(Windows)

    Hi, I have a PC running windows 7 and an iMac 27" i5 running OSX10.6.6. I'd like to use my iMac as a secondary monitor for my PC (I still need some applications from my windows computer and I dont want to install windows on this beautiful mac). Is th

  • Skip the header in sender FCC

    Hello friends, In my source file ,  the first line is the header i want to ignore the first line(header) in FCC i tried with document-offset  : 1  in FCC But it is not working any suggestions. Thanks Srinivas

  • Depth of Field expression

    Hi i've got a comp with 70 3d layers.They are all arranged in a grid in the x+z axes .Distance between each layer is 3600Px. The camera is parented to a null called"Cam_control".Basically,the camera flyies now to each 3d layer(which is contolled by t

  • Autosize stops working on Mac

    I have a SWF that loads text from an external outside file, then automatically updates its height using Autosize. However, then I run the swf on a Mac, I only get the first line of text. The tops of the letters on the second line can be seen, but onl

  • Shadow on transparent image?

    I'm trying (and failing) to use the An shadow feature on a simple vector arrow I've created in AI. Importing in the An using a variety of setting, the shadow always appears around the arrow's document edges rather than around the more complex shape o