package gcom.batch.cobranca; import gcom.cobranca.CobrancaAcao; import gcom.cobranca.CobrancaAcaoAtividadeComando; import gcom.cobranca.CobrancaAcaoAtividadeCronograma; import gcom.cobranca.CobrancaCriterio; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.ControladorCobrancaLocal; import gcom.cobranca.ControladorCobrancaLocalHome; import gcom.util.ConstantesJNDI; import gcom.util.ControladorException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import java.util.Date; import javax.ejb.CreateException; import javax.ejb.EJBException; import javax.ejb.MessageDrivenBean; import javax.ejb.MessageDrivenContext; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; public class BatchEmitirDocumentoCobrancaMDB implements MessageDrivenBean, MessageListener { private static final long serialVersionUID = 1L; public BatchEmitirDocumentoCobrancaMDB() { super(); } public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException { } public void ejbRemove() throws EJBException { } public void onMessage(Message message) { if (message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; try { this.getControladorCobranca().emitirDocumentoCobranca( (CobrancaGrupo) ((Object[]) objectMessage.getObject())[0], (CobrancaAcaoAtividadeCronograma) ((Object[]) objectMessage.getObject())[1], (CobrancaAcaoAtividadeComando) ((Object[]) objectMessage.getObject())[2], (CobrancaAcao) ((Object[]) objectMessage.getObject())[3], (CobrancaCriterio) ((Object[]) objectMessage.getObject())[4], (Date) ((Object[]) objectMessage.getObject())[5], (Integer) ((Object[]) objectMessage.getObject())[6] ); } catch (JMSException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } catch (ControladorException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } } } /** * Author: Rafael Santos Data: 04/01/2006 * * Retorna o valor do Controlador de Cobranca * * @return O valor de controladorCobrancaLocal */ private ControladorCobrancaLocal getControladorCobranca() { ControladorCobrancaLocalHome localHome = null; ControladorCobrancaLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorCobrancaLocalHome) locator .getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_COBRANCA_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } // this.enviarMensagemControladorBatch( // MetodosBatch.ENDERECO_INSERIR_CEP_IMPORTADOS, // ConstantesJNDI.QUEUE_CONTROLADOR_FATURAMENTO_MDB, // new Object[] { cepsImportados }); /** * Default create method * * @throws CreateException */ public void ejbCreate() { } }