Exemplo da Exposição Manual de interactionSpec e IMSConnectionSpec como Dados de Entrada: Amostra do Phonebook do IMS

É possível expor as propriedades de IMSInteractionSpec e IMSConnectionSpec para entrada como dados para que seu aplicativo Java™ possa configurar ou obter os valores de propriedade. Por exemplo, é possível expor as propriedades de nome de usuário e senha de IMSConnectionSpec se o aplicativo Java estiver usando conexão de EIS gerenciada por componente. Ou é possível expor a propriedade de ID do cliente IMSConnectionSpec se o aplicativo Java estiver executando uma interação em uma conexão do soquete persistente dedicada.

Sobre Esta Tarefa

Para expor as propriedades de IMSInteractionSpec e IMSConnectionSpec para entrada, você deve modificar os arquivos de interface e implementação do bean J2C antes de usá-los em um aplicativo. Normalmente você expõe apenas as propriedades que o aplicativo Java precisa como entrada. As etapas neste tópico ilustram como expor todas as propriedades de IMSInteractionSpec e IMSConnectionSpec usando o bean J2C no projeto PhoneBookJ2CBean que foi criado no tópico Criando um Bean J2C para Conectar ao IMS.

Procedimento

  1. Expanda o projeto, PhoneBookJ2CBean, e abra o arquivo de interfaces PB.java no editor Java.
  2. No arquivo PB.java, atualize o método runPB(). Inclua os argumentos para as propriedades de entrada de IMSInteractionSpec e IMSConnectionSpec. Esses argumentos são usados para fornecer valores de entrada para as propriedades expostas da mesma maneira que o argumento INPUTMSGarg é usado para fornecer valores para a mensagem de entrada da transação do IMS. Após incluir os argumentos no método runPB(), o código ficará semelhante a este:
    package sample.ims; 
    
    
    /** 
     * @generated 
     */ 
    public interface PB { 
    
        /** 
         * @generated 
         */ 
        public OUTPUTMSG runPB(INPUTMSG arg, 
                int myCommitMode, 
                int myExecutionTimeout, 
                int myImsRequestType, 
                int myInteractionVerb, 
                String myLtermName, 
                String myMapName, 
                boolean myPurgeAsyncOutput, 
                boolean myReRoute, 
                String myReRouteName, 
                int mySocketTimeout, 
                String myUserName, 
                String myPassword, 
                String myGroupName, 
                String myClientID) throws javax.resource.ResourceException; 
    }
  3. Salve e feche o arquivo.
  4. Expanda o projeto PhoneBookJ2CBean e abra o arquivo de ligação PBImpl.java no editor Java.
  5. No arquivo PBImpl.java, atualize o Javadoc para o método runPB() incluindo tags doclet para cada uma das propriedades que deseja expor.
  6. Atualize a assinatura do método runPB(). Inclua os argumentos para a implementação. Os argumentos incluídos no método são referenciados pelas tags doclet correspondentes. Para obter informações sobre como editar tags doclet, consulte Editando o Bean J2C. Após você incluir as tags doclet e atualizar a assinatura do método, o código ficará semelhante a este:
    /** 
         * @j2c.interactionSpec class="com.ibm.connector2.ims.ico.IMSInteractionSpec" 
         * @j2c.interactionSpec-property name="commitMode" argumentBinding="myCommitMode" 
         * @j2c.interactionSpec-property name="executionTimeout"
    argumentBinding="myExecutionTimeout" 
         * @j2c.interactionSpec-property name="imsRequestType"
    argumentBinding="myImsRequestType" 
         * @j2c.interactionSpec-property name="interactionVerb"
    argumentBinding="myInteractionVerb" 
         * @j2c.interactionSpec-property name="ltermName" argumentBinding="myLtermName" 
         * @j2c.interactionSpec-property name="mapName" argumentBinding="myMapName" 
         * @j2c.interactionSpec-property name="purgeAsyncOutput"
    argumentBinding="myPurgeAsyncOutput" 
         * @j2c.interactionSpec-property name="reRoute" argumentBinding="myReRoute" 
         * @j2c.interactionSpec-property name="reRouteName"
    argumentBinding="myReRouteName" 
         * @j2c.interactionSpec-property name="socketTimeout"
    argumentBinding="mySocketTimeout" 
         * 
         * @j2c.connectionSpec class="com.ibm.connector2.ims.ico.IMSConnectionSpec" 
         * @j2c.connectionSpec-property name="userName" argumentBinding="myUserName" 
         * @j2c.connectionSpec-property name="password" argumentBinding="myPassword" 
         * @j2c.connectionSpec-property name="groupName" argumentBinding="myGroupName" 
         * @j2c.connectionSpec-property name="clientID" argumentBinding="myClientID" 
         * 
         * @generated 
         */ 
        public OUTPUTMSG runPB(INPUTMSG arg, 
                int myCommitMode, 
                int myExecutionTimeout, 
                int myImsRequestType, 
                int myInteractionVerb, 
                String myLtermName, 
                String myMapName, 
                boolean myPurgeAsyncOutput, 
                boolean myReRoute, 
                String myReRouteName, 
                int mySocketTimeout, 
                String myUserName, 
                String myPassword, 
                String myGroupName, 
                String myClientID) throws javax.resource.ResourceException {
  7. Salve e feche o arquivo. O novo código de implementação é gerado para o método runPB(). Para cada propriedade exposta, a tag doclet usa o atributo argumentBinding no lugar do atributo value. O valor do atributo argumentBinding representa o argumento de método da propriedade IMSInteractionSpec ou IMSConnectionSpec correspondente. Agora você expôs todas as propriedades IMSConnectionSpec para entrada.

Feedback