WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Chamando um Enterprise Java Bean

Você pode chamar um Enterprise Java™ Bean (EJB) em um nó JavaCompute.

Antes de iniciar:
O exemplo a seguir mostra como chamar um EJB de um nó JavaCompute:
public class CallAckNoAckEJB_JavaCompute extends MbJavaComputeNode { 

		 public void evaluate(MbMessageAssembly inAssembly) throws MbException { 
                MbOutputTerminal out = getOutputTerminal("out"); 
                MbOutputTerminal alt = getOutputTerminal("alternate"); 

                MbMessage inMessage = inAssembly.getMessage(); 

                // criar nova mensagem 
                MbMessage outMessage = new MbMessage(inMessage); 
                MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly,outMessage); 

                try { 
                        // ---------------------------------------------------------- 
                        // Incluir código do usuário abaixo 
                
                        String response = null; 
                        String responseMessage = null; 
                                                
                        Properties properties = new Properties(); 
                        properties.put(Context.PROVIDER_URL, "iiop://localhost:2809"); 
                        properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.
WsnInitialContextFactory"); 
                
                        try { 
                            
                        		 Context initialContext = new InitialContext(properties); 
                                Object obj = initialContext.lookup("ejb/com/acme/ejbs/AckNoAckHome"); 
                                AckNoAckHome ejbHome = (AckNoAckHome)javax.rmi.PortableRemoteObject.
narrow(obj,AckNoAckHome.class); 
                                
                                AckNoAck ackNoAck = ejbHome.create(); 
                                responseMessage = ackNoAck.getAck(); 
                                response = "Ack"; 
                        } catch(Exception e) { 
                                responseMessage = e.getMessage(); 
                                response = "NoAck"; 
                        } 

                        MbElement cursor = outMessage.getRootElement().getFirstElementByPath("/XML/AckNoAck"); 
                        cursor.createElementAsLastChild(MbElement.TYPE_NAME,"Response",null); 
                        cursor.getLastChild().createElementAsLastChild(MbElement.TYPE_NAME,response,null); 
                        cursor.getLastChild().getLastChild().createElementAsLastChild(MbElement.TYPE_VALUE,null,
responseMessage); 
                                                
                        // Fim do código do usuário 
                        // ---------------------------------------------------------- 

                        // O seguinte deve ser alterado somente 
                        // se você não estiver propagando a mensagem para o terminal de 'saída' 
                        out.propagate(outAssembly); 

                } finally { 
                        // limpar a outMessage 
                        outMessage.clearMessage(); 
                } 
		 } 
} 
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:36


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ac37120_