Я пытаюсь создать корпоративное приложение, но сталкиваюсь с очень странной ошибкой.
Всякий раз, когда я пытаюсь вызвать фасад корпоративного приложения из любого класса, кроме Main, я получаю исключение InvocationTargetException.
Вот мой код: -
public class TellerMachine {
@EJB
private static BillerFacadeRemote billerFacade;
@EJB
private static AccountFacadeRemote accountFacade;
@EJB
private static CustomerFacadeRemote customerFacade;
@EJB
private static BanktellerFacadeRemote banktellerFacade;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
TellerMachine tm = new TellerMachine();
Scanner s = new Scanner(System.in);
String sssa = billerFacade.hiHAHAHAHA();
System.out.println(sssa);
tm.printABC();
TestClass t = new TestClass();
t.abc();
}
public void printABC()
{
String sssa = billerFacade.hiHAHAHAHA();
System.out.println(sssa);
}
}
Класс испытаний: -
public class TestClass
{
@EJB
private static BillerFacadeRemote billerFacade;
public static void main(String[] args)
{
}
public void abc()
{
try{
String a = billerFacade.hiHAHAHAHA();
System.out.println(a);}
catch(Exception e)
{
System.out.println(e.getCause().toString());
}
}
}
Метод в BillerFacade: -
@Override
public String hiHAHAHAHA() {
return "abc";
}
Трассировки стека: -
Warning: /Users/varunbatra/Desktop/RealApp/SwinBankTellerMachine/dist/gfdeploy/SwinBankTellerMachine does not exist.
abc
abc
java.lang.reflect.InvocationTargetException
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:597)
at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
at org.glassfish.appclient.client.AppClientFacade.main(AppClientFacade.java:165)
Caused by: java.lang.NullPointerException
at swinbanktellermachine.TestClass.abc(TestClass.java:29)
at swinbanktellermachine.TellerMachine.main(TellerMachine.java:52)
... 6 more
Java Result: 1
Почему это так? и иногда даже я вызываю удаленный метод из моего основного класса, он все равно дает мне это исключение. Что случилось с Netbeans? Когда-то работает, когда-то нет. Пожалуйста, помогите и развейте мое замешательство.