2014-01-30 3 views
0

Я хочу развернуть компонент Stateful EJB Bean в автономном клиенте JavaFx без сервера приложений. Класс EJB имеет ссылку на entitymanager и совершает транзакции против db. Проект является архетипом maven, и я добавил класс EJB в пакет. С моей основной метод я сделать JNDI поиск как этотАвтономное развертывание EJB в приложении клиента JavaFx

Properties props = new Properties(); 
      props.put(EJBContainer.APP_NAME, "testejb"); 
      props.put(EJBContainer.MODULES, new File("target/classes")); 
      EJBContainer ec = EJBContainer.createEJBContainer(props); 
      Context ctx = ec.getContext(); 
      myEjbClass = (MyEjbClass) ctx.lookup("java:global/testejb/MyEjbClass"); 

Я стал исключением javax.ejb.EJBException: Нет поставщика EJBContainer доступны: ни имен провайдера не было найдено. Я добавил javaee-7 и встроенную оболочку из стеклянной рыбы в свой pom.xml. Почему?

ответ

0

Вы настроили и запустили встроенную Glassfish в свою программу?

Это может быть сделано, делая это:

BootstrapProperties bootstrapProperties = new BootstrapProperties(); 
bootstrapProperties.setInstallRoot("C:\\applicationserverdir");  
GlassFishRuntime glassfishRuntime = GlassFishRuntime.bootstrap(bootstrapProperties); 

GlassFishProperties glassfishProperties = new GlassFishProperties(); 
glassfishProperties.setInstanceRoot("C:\\applicationserverdir\\domains\\myJavaFXAppDomain"); 
glassfishProperties.setPort("http-listener", 8080); 
glassfishProperties.setPort("https-listener", 8181); 
GlassFish glassfish = glassfishRuntime.newGlassFish(glassfishProperties); 
glassfish.start(); 

Более подробная информация о настройке встроенной Glassfish здесь: http://docs.oracle.com/cd/E18930_01/html/821-2424/giijw.html#scrolltoc

Кроме того, что Maven архетип вы используете?

Смежные вопросы