Fala galera.
Tenho uma aplicação web rodando no Tomcat 8. Estou usando JPA 2.0 + Hibernate + JSF.
Quando inicio minha aplicação web ela carrega um servidor socket usando o Apache Mina:
NioSocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
acceptor.getFilterChain().addLast("protocol", new ProtocolCodecFilter(new CodecFactoryServer()));
acceptor.setDefaultLocalAddress(new InetSocketAddress(PORT));
acceptor.setHandler(new HandlerServer());
acceptor.getSessionConfig().isTcpNoDelay();
acceptor.setCloseOnDeactivation(true);
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReadBufferSize(capacity);
acceptor.getSessionConfig().setKeepAlive(true);
acceptor.bind();
Até ai sem problemas, tudo funcionando perfeitamente.
O problema é que preciso popular um objeto e mandar gravar no banco, mas como eles parecem rodar em contextos diferentes, não consigo acessar as classe de serviço da minha aplicação Web.
Estou trabalhando com Injeção de dependência, mas não tenho ideia de como acessar o banco de dentro do socket.
@Named(“dispositivoBean”)
@ViewScoped
public class DispositivoBean extends GenericBean<Dispositivo, DispositivoService> implements Serializable {
@Inject
public DispositivoBean(EntityManager manager) {