其实我正在使用代理服务并给出了一个如下所示的要点: -
<iterator>
<target>
<sequence>
<class name="mediator.code.SampleCustomMediator"></class>
<log level="full" separator=",**after updatedb call**">
<property name="Response" expression="get-property('status')"></property>
</log>
</sequence>
</target>
</iterator>
Class mediator code;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class SampleCustomMediator extends AbstractMediator {
String updateQuery = "Update Table.440 Set DSP = '"+DSP+"',USER = '"+USER+"',PID = '"+PID+"',PMJ="+PMJ+",PMT="+PMT+" Where DSP<>'Y' AND PO='"+PO+"' AND PD='"+PD+"' AND SD="+SD;
System.out.println("Query String: "+updateQuery);
result = stmt.executeUpdate(updateQuery);
if(result>0){
String response = "successfully updated "+result+" rows";
System.out.println("successfully added "+result);
context.setProperty("status",response);
return true;
}
else{
System.out.println("failed");
context.setProperty("status","0 rows were updated");
return true;
}
}
代理工作正常。
但是,无法记录Response的值。
每次显示为空。
我想在迭代器中介器执行时每次都看到Response的值。
我尝试过使用“$ ctx:status”,payloadFactory mediator(在args上使用相同的表达式)。
但它不起作用。
我将如何做?