JAR, EJB e Client

5 respostas
S

Pessoal estou com uma duvida relacionada a OO.

imagine a seguinte situação:

  1. Eu tenho um jar que possui a classe JarClass.

  2. Eu tenho um EJB (EjbClass) que tem um metodo com um retorno tipo JarClass (o .jar já está nas libs do EJB)

  3. Eu tenho um Client que executa o metodo do EJB e recebe o retorno do tipo JarClass (o client já está com o .jar do EJB nas suas libs)

Problemas:

  • Se tentar direto o client não reconhece o retorno do tipo JarClass.

  • Criei no EJB uma classe chamada JarClass e extendi JarClass do .jar. O Client não reconheceu os construtores.

  • Sobrescrevi os construtores e o cliente reconheceu porém não reconheceu os métodos de JarClass.

Cara isso está virando uma salada, alguém tem uma forma simples de implementar isso ou vou ter de copiar a classe inteira pro EJB?

Agardeço a ajuda

abraços

5 Respostas

Jair_Rillo_Junior

Cara, eu não entendi muito bem a sua dúvida, mas quando você quer “compartilhar” arquivos JAR em uma aplicação ENTERPRISE, você deve declarar eles como Utility JARs (isso é feito dentro do EAR.

S

bom na verdade eu não quero compartilhar, quero que o EJB retone uma classe que está em um jar dentro dele

Jair_Rillo_Junior

Coloque o .JAR como um Utility JAR e pronto :slight_smile:

Eu sempre faço isso com as entidades do JPA, ou seja, eu deixo elas em um JAR em separado. Tanto o EJB Module como o Web Modules “acessam” as classes do JAR

S

Existem algum outro jeito??? porque imagine o seguinte:

esse jar é fechado! ele tem uma classe de retorno (um VO por exemplo).

Esse VO eu preciso repassar para o Client através de um EJB , mas eu não tenho como colocar esse VO em um utility pois não posso recriar o jar.

Tem de haver algum meio de eu "clonar"esse VO (através de extends ou interfaces, sei lá) para que eu consiga repassar esse VO sem mexer no jar original sacou?

Jair_Rillo_Junior

Mas você não vai mexer no .JAR origial.
Você simplesmente vai setar ele como um Utility Jar no EAR.

Criado 4 de julho de 2008
Ultima resposta 4 de jul. de 2008
Respostas 5
Participantes 2