Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

EJB 3.0 Application Client threw Remote nested exception

htran_888Mar 10 2009 — edited Mar 11 2009
Hi All,

I came across the following EJBException message when trying to retrieve an Employee record (entity bean in EJB 3.0) after having successfully added it into EMPLOYEE table using stateless session bean:

*10/03/2009 8:53:14 PM com.sun.enterprise.appclient.MainWithModuleSupport <init>*
WARNING: ACC003: Application threw an exception.
javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.NullPointerException
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.NullPointerException
at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:243)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
at ejb.__EmployeeRemote_Remote_DynamicStub.findEmployee(ejb/__EmployeeRemote_Remote_DynamicStub.java)
at ejb._EmployeeRemote_Wrapper.findEmployee(ejb/_EmployeeRemote_Wrapper.java)
at client.EmployeeApplicationClient.printEmployee(EmployeeApplicationClient.java:608)
at client.EmployeeApplicationClient.main(EmployeeApplicationClient.java:55)

Below is the code snippets of EmployeeApplicationClient.java:
public class EmployeeApplicationClient {

    @EJB
    private static EmployeeRemote employeebean1;

    @EJB
    private static EmployeeRemote employeebean2;

    public EmployeeApplicationClient() {}

    public static void main(String[] args) 
    {
        EmployeeApplicationClient employee_application_client = new EmployeeApplicationClient();
        employee_application_client.addEmployee(1, John, Smith);
        employee_application_client.printEmployee(1);
    }

    public void addEmployee(int id, String firstname, String surname)
    {
        try {
            Employee employee1 = new Employee();
            employee1.setID(id);                        
            employee1.setfirstname(firstname);                        
            employee1.setsurname(surname);                        
            employeebean1.createEmployee(employee1);
        } 
        catch {.....}
    }

    public void printEmployee(int employee_id)
    {
       Employee employee2 =  employeebean2.findEmployee(employee_id);
       System.out.println("employee Id: " + employeebean2.getId());
       System.out.println("employee firstname: " + employeebean2.getfirstname());
       System.out.println("employee surname: " + employeebean2.getsurname());
    }
}
Using employeebean1/employeebean2 in printEmployee() did not make any difference.

The error message appears to indicate that I have incorrectly structured these methods.

The deployment of EmployeeBean was successful and employee1 is in EMPLOYEE table via SQL query.

I am using JDK1.6.07, Glassfish v2 with MySQL 5.0 and Netbeans 6.1 on Windows XP platform.

Any assistance would be greatly appreciated.

Thanks,

Jack
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 8 2009
Added on Mar 10 2009
3 comments
1,146 views