Экспорт свойств InteractionSpec в качестве выходных данных

Свойства InteractionSpec и ConnectionSpec можно экспортировать в качестве выходных данных, предоставляя приложению Java возможность получать значения свойств после выполнения транзакции. Для экспорта свойств InteractionSpec в качестве выходных данных требуется создать новый класс выходных данных и внести изменения в файлы интерфейса и реализации JavaBean J2C.

Ниже приведены фрагменты кода, позволяющего экспортировать свойство functionName объекта InteractionSpec из примера taderc99. Пример класса оболочки:
package sample.cics.data;

public class WrapperBean {
	protected CustomerInfo customerInfo;
	protected String funcName;

	/**
	 * @return Returns the functionName.
	 */
	public String getFuncName() {
		return funcName;
	}
	/**
	 * @param functionName Параметр functionName, который требуется задать.
	 */
	public void setFuncName(String functionName) {
		this.funcName = functionName;
	}
	/**
	 * @return Возвращает customerInfo.
	 */
	public CustomerInfo getCustomerInfo() {
		return customerInfo;
	}
	/**
	 * @param customerInfo Параметр customerInfo, который требуется задать.
	 */
	public void setCustomerInfo(CustomerInfo customerInfo) {
		this.customerInfo = customerInfo;
	}
}

Ниже приведен обновленный метод. Внесенные изменения выделены полужирным шрифтом; обновленный созданный код выделен курсивом:

/**
	 * @j2c.interactionSpec class="com.ibm.connector2.cics.ECIInteractionSpec"
	 * @j2c.interactionSpec-property name="functionName" value="TADERC99"
	 * @j2c.interactionSpec-returnProperty name="functionName" outputBinding="funcName"
	 * @generated
	 */
	public WrapperBean getCustomer(sample.cics.data.CustomerInfo arg) throws javax.resource.ResourceException {
		ConnectionSpec cs = getConnectionSpec();
		InteractionSpec is = interactionSpec;
		if (is == null) {
			is = new com.ibm.connector2.cics.ECIInteractionSpec();
			((com.ibm.connector2.cics.ECIInteractionSpec) is).setFunctionName("TADERC99");
		}
		sample.cics.data.CustomerInfo output = new sample.cics.data.CustomerInfo();
		invoke(cs, is, arg, output);
		WrapperBean bean = new WrapperBean();
		bean.setCustomerInfo(output);
		bean.setFuncName(((com.ibm.connector2.cics.ECIInteractionSpec) is).getFunctionName());
		return bean;	}

Комментарии