Свойства IMSInteractionSpec можно экспортировать в
качестве выходных данных. На данный момент поддерживаются следующие свойства:
asyncOutputAvailable, convEnded и mapName. Для экспорта свойств
IMSInteractionSpec в качестве выходных данных требуется создать
новый выходной класс и внести изменения в файлы интерфейса и
реализации JavaBean J2C.
Как правило, экспортируются только свойства, которые приложение
Java использует в качестве выходных данных. В этом
разделе приведены инструкции по экспорту свойств IMSInteractionSpec с
помощью JavaBean J2C из проекта
PhoneBookJ2CBean,
который был
создан в разделе
Создание объекта Javabean J2C.
Для экспорта
свойств IMSInteractionSpec в качестве выходных данных выполните
следующие действия:
- Разверните проект
PhoneBookJ2CBean и
откройте файл интерфейса PB.java в редакторе
Java.
- Найдите сигнатуру метода runPB(). Добавьте аргументы для выходных свойств IMSInteractionSpec. Эти
аргументы используются для передачи выходных значений для
экспортированных свойств, подобно тому как аргумент
OUTPUTMSGarg используется для передачи значений для выходных
сообщений транзакций IMS.
После добавления в метод runPB() аргументов исходный код
будет выглядеть следующим образом:
package sample.ims;
/**
* @generated
*/
public interface PB {
/**
* @generated
*/
public sample.ims.WrapperBean runPB(sample.ims.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;
}
- Создайте класс WrapperBean. Для этого выполните следующие
действия:
- Разверните проект PhoneBookBindings,
щекните правой кнопкой мыши на пакете
sample.ims и выберите
Создать > Класс.
- Введите WrapperBean в качестве имени
класса.
- Выберите переключатели Наследуемые абстрактные методы и
Конструкторы из базового класса.
- Нажмите кнопку Готово.
- Откройте класс WrapperBean в редакторе и добавьте
оператор импорта для
java.io.Serializable.
- Внесите изменения в класс WrapperBean, чтобы он
реализовывал интерфейс Serializable. Например:
public class WrapperBean implements Serializable {
- Добавьте в класс WrapperBean частную переменную для
связывания данных Java IMS
исходящего сообщения транзакции IMS. Например:
private OUTPUTMSG output;
- Добавьте в класс WrapperBean частные переменные для
хранения значений экспортируемых свойств IMSInteractionSpec: Например:
private boolean convEnded;
private boolean asyncOutputAvailable;
private String mapName;
- Добавьте методы доступа для исходящего сообщения и всех
экспортируемых сообщений. Например:
public OUTPUTMSG getOutput(){
return output;
}
public boolean getConvEnded(){
return convEnded;
}
public boolean getAsyncOutputAvailable(){
return asyncOutputAvailable;
}
public String getMapName(){
return mapName;
}
public void setOutput(OUTPUTMSG output){
this.output = output;
}
public void setAsyncOutputAvailable(boolean asyncOutputAvailable){
this.asyncOutputAvailable = asyncOutputAvailable;
}
public void setConvEnded(boolean convEnded){
this.convEnded = convEnded;
}
public void setMapName(String mapName){
this.mapName = mapName;
}
- Сохраните и закройте класс WrapperBean.
- Внесите изменения в файл интерфейса WrapperBean.
Для этого разверните PhoneBookJ2CBean >
sample.ims и откройте файл PB.java
в редакторе Java.
- Измените метод runPB(), запускающий транзакцию
IMS,
таким образом, чтобы он возвращал WrapperBean вместо
OUTPUTMSG. Например:
public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException;
- Внесите изменения в файл реализации WrapperBean. Для
этого разверните PhoneBookJ2CBean >
sample.ims
и откройте файл PBImpl.java в редакторе
Java.
- Измените метод runPB(), запускающий
транзакцию
IMS,
таким образом, чтобы он возвращал WrapperBean вместо
OUTPUTMSG. Например:
public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException {
- Обновите данные javadoc для метода runPB(), добавив теги
доклетов для выходных свойств, которые требуется
экспортировать. В следующем примере javadoc для runPB() показаны
теги как для входных, так и выходных свойств:
/**
* @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.interactionSpec-returnProperty
* name="convEnded"
* outputBinding="convEnded"
* @j2c.interactionSpec-returnProperty
* name="asyncOutputAvailable"
* outputBinding="asyncOutputAvailable"
* @j2c.interactionSpec-returnProperty
* name="mapName"
* outputBinding="mapName"
*
* @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
*/
- Сохраните и закройте файл. Для метода runPB() будет сгенерирована новая
реализация.
Результирующие данные теперь могут передаваться через
выходные свойства IMSInteractionSpec.