Свойства IMSInteractionSpec можно экспортировать в
качестве выходных данных.
На данный момент поддерживаются только следующие свойства: asyncOutputAvailable, convEnded и mapName. Для экспорта свойств
IMSInteractionSpec в качестве выходных данных требуется создать новый выходной класс и внести изменения в файлы интерфейса и реализации объекта J2C.
Об этой задаче
Как правило, экспортируются только свойства, которые приложение
Java™ использует в качестве выходных данных.
В этом разделе приведены инструкции по экспорту свойств IMSInteractionSpec с помощью объекта J2C из проекта
PhoneBookJ2CBean, созданного в разделе
Создание объекта JavaBean J2C для соединения с IMS.
Процедура
- Разверните проект
PhoneBookJ2CBean и
откройте файл интерфейса PB.java в редакторе
Java.
- В файле PB.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;
- Затем добавьте методы get и set для исходящего сообщения и всех незащищенных свойств. Например:
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.