Как создать дескриптор развертывания с помощью ejbGen для WebLogic? - PullRequest
1 голос
/ 22 сентября 2010

Я читал учебник на этой странице:
http://edocs.bea.com/docs/cd/E13222_01/wls/docs81/medrec_tutorials/ejbgen.html#858279

И у меня есть следующий файл BankAccountEJB.java

import javax.ejb.CreateException; import javax.ejb.EntityBean; import javax.ejb.EntityContext;</p> <p>public abstract class BankAccountEJB implements EntityBean {</p> <pre><code>private EntityContext context; public void setEntityContext(EntityContext aContext) { context = aContext; } public void ejbActivate() { } public void ejbPassivate() { } public void ejbRemove() { } public void unsetEntityContext() { context = null; } public void ejbLoad() { } public void ejbStore() { } public abstract String getName(); public abstract void setName(String name); public abstract Float getBalance(); public abstract void setBalance(Float balance); public java.lang.Long ejbCreate(String name, Float balance) throws CreateException { if (name == null) { throw new CreateException("The field \"key\" must not be null"); } // TODO add additional validation code, throw CreateException if data is not valid setName(name);

setBalance (баланс);

    return null;
}

public void ejbPostCreate(java.lang.Long key) {
    // TODO populate relationships here if appropriate
}

}

и я запускаю java weblogic.tools.ejbgen.EJBGen -ddOnlyGen BankAccountEJB.java, который выдает следующую ошибку:

Исключение в потоке "main" com.bea.wls.ejbgen.EJBGenException: ejbName является обязательным атрибутом в com.bea.wls.ejbgen.Bean.createBeanSpecificTags (Bean.java:202) на com.bea.wls.ejbgen.Bean. (Bean.java:127) на com.bea.wls.ejbgen.EntityBean. (EntityBean.java:76) в com.bea.wls.ejbgen.EJBFactory.createBean (EJBFactory.java:135) в com.bea.wls.ejbgen.EJBFactory.createBean (EJBFactory.java:99) в com.bea.wls.ejbgen.EJBGenSGen.initModule (EJBGenSGen.java:106) на com.bea.sgen.SGen.run (SGen.java:205) в com.bea.wls.ejbgen.EJBGen.main (EJBGen.java:212) в com.bea.wls.ejbgen.EJBGen.main (EJBGen.java:238) at weblogic.tools.ejbgen.EJBGen.main (EJBGen.java:21)

Любой вклад будет высоко оценен ~!

1 Ответ

2 голосов
/ 23 сентября 2010

Примечание: Вы все еще работаете с Weblogic 8.1 - он уже завершен.Также ejbgen работает с EJB 2.x, и за последние 2 года разработка перешла на EJB 3 , поэтому я бы посоветовал вам разобраться с ними.

Теперь к вашемуконкретная проблема.

В вашем коде нет необходимых аннотаций для работы ejbgen.

Подобные аннотации, которые используются при генерации дескрипторов.

 * @ejbgen:entity
 *   ejb-name = containerManaged
 *   table-name = ejbAccounts
 *   data-source-name = examples-dataSource-demoPool
 *   prim-key-class =  AccountPK
 *   invalidation-target = ServiceDesignEJB

Поскольку ваш URL говорит, что код в учебнике содержит правильные данные в качестве примера - убедитесь, что вы правильно скопировали их в свой собственный код.

EJBGen использует аннотации в файле bean для генерации дескриптора развертыванияфайлы и исходные файлы EJB Java.Файлы EJB в приложении MedRec уже аннотированы для EJBGen.

Для другой версии ejbgen см. http://www.beust.com/ejbgen/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...