Articles of ejb 3.1

Maneira correta de procurar o EJB local no websphere – Obtendo ClassCastException

Eu tenho um EJB que é exposto por interfaces locais e remotas package com.sam.enqueue; import javax.ejb.Local; import javax.ejb.Remote; import javax.ejb.Singleton; @Singleton @Local(SamEnqueueLocal.class) @Remote(SamEnqueueRemote.class) public class SamEnqueue implements SamEnqueueRemote, SamEnqueueLocal { } // remote interface package com.sam.enqueue; import javax.ejb.Remote; @Remote public interface SamEnqueueRemote { } // local interface package com.sam.enqueue; @Local public interface SamEnqueueLocal { } […]

Expor o progresso atual de uma function @Asynchronous para usar no View

No meu JEE6-App (rodando no Glassfish 3.0.1) eu tenho um EmailEJB que tem que enviar muitos e-mails. Os e-mails são enviados de forma assíncrona, portanto são anotados com o novo EJB3.1 @ Assíncrono, permitindo que ele seja executado em um Thread separado. Agora quero que o usuário seja informado sobre o status atual do método: […]

Problema com o EJB 3.1 injetado com o bean CDI durante a execução da JUnit

Eu criei um EJB3.1 e injetou o bean CDI usando o @inject, mas enfrentando alguns problemas enquanto testava a unidade, no entanto, quando testado a partir do servlet está funcionando bem. Eu tenho o beans.xml na pasta WEB-INF. Abaixo está o meu código EJB: @Stateless public class CdiUsingEjb { @Inject private HelloServletCDIPojo helloServletCDIPojo; public String […]

Deltaspike e @Stateless Bean

Quero proteger meu EJb “Stateless” com a API DeltaSpike. @Stateless @Remote(UserServiceRemote.class) public class UserService implements UserServiceRemote No nível do método eu tenho uma anotação personalizada “Suporte” @Support public void doSomething() {} Por isso escrevi uma anotação personalizada “@Support”: @Retention(value = RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD }) @Documented @SecurityBindingType public @interface Support { Meu autorizador personalizado se parece […]

Como testar EJBs de unidade ao usar o JPA2?

Como você faria para testar um EJB que usa JPA? Por exemplo, se eu tiver uma entidade Order e OrderEJB que deve calcular o total de um pedido (conforme definido abaixo), como eu realizaria testes unitários do EJB sem tocar no database? Além disso, como você definiria valores para suas entidades, para que possa garantir […]

Controlando o CDI Startup dentro do EJB 3.1

Sou novo aqui e também novo no mundo do CDI, e a primeira tarefa que consegui fazer foi descobrir uma maneira de controlar o upload do CDI. Estamos usando o EJB 3.1 e o CDI 1.0 e, como eles são controlados por contêineres diferentes, podemos controlar quando e em que ordem o EJB Managed Beans […]

Não é possível executar testes arquillian

Eu estou tentando usar o Arquillian para alguns testes de unidade, no entanto não consigo encontrar por que eles falharam quando implantados usando o Maven. Este é o teste de class: package com.ndeveloper.spec.test; import javax.inject.Inject; import junit.framework.Assert; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ArchivePaths; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.ByteArrayAsset; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.Test; import org.junit.runner.RunWith; import com.ndeveloper.spec.controller.GreetingBean; […]

EJB 3.1 – Lidando com exceções em jobs assícronos

Eu tenho vários trabalhos asynchronouss que eu gostaria de lidar com a exceção de maneira transparente. Eu gostaria de colocar a lógica de tratamento de exceção em outro componente / class. Com o Seam 2, eu estendi uma class manipuladora de exceção. Por exemplo, eu gostaria de criar um evento com a exceção dele, para […]

Como fazer com que essa class de serviço de timer manipule a “alteração no horário programado”?

Código de amostra: @Singleton @Startup public class EBlastScheduler { @Resource TimerService timerService; EBlastScheduler what = new EBlastScheduler(); @PostConstruct public void initialize(){ if (timerService.getTimers() != null) { for (Timer timer : timerService.getTimers()) { if (timer.getInfo().equals(“EBlastScheduler”)){ timer.cancel(); } } } ScheduleExpression expression = new ScheduleExpression(); expression.second(“*/1”).minute(“*”).hour(“*”); timerService.createCalendarTimer(expression); } @Timeout public void execute(Timer timer){ System.out.println(“—-Invoked: ” + System.currentTimeMillis()); […]

dependency injection no ResourceFilter não está funcionando?

Eu tenho um monte de resources JAX-RS que fornecem uma API para um novo WebService. Para entender o que está acontecendo, gostaria de armazenar informações sobre cada solicitação em um data warehouse. Na minha opinião, este é um exemplo perfeito para uma preocupação transversal, que poderia ser implementada por um ResourceFilter , certo? Então eu […]