Hoge.java
public class Hoge {
private int id;
private double data;
public Hoge() {
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public double getdata() {
return this.data;
}
public void setdata(double data) {
this.data = data;
}
}
------------------------------------------------------
HogeDao.java
public interface HogeDao {
//関連付けるEntityの指定
public Class BEAN = Hoge.class;
//戻り値「List」型はSELECT
public List getAll();
}
------------------------------------------------------
HogeService.java
public class HogeService{
//マッピングするテーブル名(クラス名=テーブル名の場合は省略可)
public static final String TABLE = "Hoge";
//マッピングするカラム名(プロパティ名=カラム名の場合は省略可)
public static final String id_COLUMN = "id";
private HogeDao hogedao;
private Hoge[] hogeArray;
public HogeService() {
}
public Hoge[] getAll() {
List list = hogedao.getAll();
Hoge[] array = (Hoge[])list.toArray(new Hoge[list.size()]);
return array;
}
}
------------------------------------------------------
HogeTest.java
private HogeDao service;
public void execute() {
List data = this.service.getAll();
・・・・
}
public void setHoge(HogeDao hoge) {
this.service = hoge;
}
public static void main(String[] args) {
SingletonS2ContainerFactory.setConfigPath("test/HogeTest.dicon");
SingletonS2ContainerFactory.init();
S2Container container = SingletonS2ContainerFactory.getContainer();
HogeDao hoge = (HogeDao)container.getComponent(HogeDao.class);
HogeTest client = new HogeTest();
client.setHoge(hoge);
client.execute();
}
------------------------------------------------------
app.dicon
------------------------------------------------------
HogeDao.dicon
dao.interceptor
------------------------------------------------------
HogeService.dicon
------------------------------------------------------
s2axis2Deploy.dicon
------------------------------------------------------
HogeTest.dicon
ioRemoting
------------------------------------------------------
s2axis2-client.dicon
baseURLのところをhttp://localhost:8080/HOGE/services/に変更
------------------------------------------------------
env.txt
utをttに変更
------------------------------------------------------
------------------------------------------------------
Tomcat起動時のコンソール画面
2009/09/04 0:22:45 org.apache.catalina.core.AprLifecycleListener init
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\eclipse3.4\jre1.6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/eclipse3.4/eclipse/jre/bin/client;C:/eclipse3.4/eclipse/jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\Java\jdk1.6.0_07\bin;C:\Program Files\MySQL\MySQL Server 4.1\bin;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL
2009/09/04 0:22:46 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
2009/09/04 0:22:46 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 368 ms
2009/09/04 0:22:46 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2009/09/04 0:22:46 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.16
2009/09/04 0:22:46 org.apache.catalina.loader.WebappClassLoader validateJarFile
情報: validateJarFile(C:\eclipse3.4\workspace\HOGE\src\main\webapp\WEB-INF\lib\geronimo-j2ee_1.4_spec-1.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2009-09-04 00:22:46,734 [main] INFO org.apache.axis2.deployment.WarBasedAxisConfigurator - Could not find axis2.xml, loading default org/apache/axis2/deployment/axis2_default.xml from classpath
2009-09-04 00:22:47,046 [main] INFO org.apache.axis2.deployment.DeploymentEngine - No services directory was found under C:\eclipse3.4\workspace\HOGE\src\main\webapp\WEB-INF.
2009-09-04 00:22:47,046 [main] INFO org.apache.axis2.deployment.DeploymentEngine - No modules directory was found under C:\eclipse3.4\workspace\HOGE\src\main\webapp\WEB-INF.
2009-09-04 00:22:47,218 [main] DEBUG org.seasar.framework.env.Env - 環境変数#Envにファイル(env.txt)から値(tt)が設定されました
2009-09-04 00:22:47,296 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=cooldeploy.dicon
2009-09-04 00:22:47,375 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=cooldeploy.dicon
2009-09-04 00:22:47,406 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=app.dicon
2009-09-04 00:22:47,406 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=HogeDao.dicon
2009-09-04 00:22:47,421 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=dao.dicon
2009-09-04 00:22:47,421 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=j2ee.dicon
2009-09-04 00:22:47,437 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=jta.dicon
2009-09-04 00:22:47,453 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=jta.dicon
2009-09-04 00:22:47,453 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=jdbc.dicon
2009-09-04 00:22:47,468 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=jdbc-extension.dicon
2009-09-04 00:22:47,468 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=convention.dicon
2009-09-04 00:22:47,484 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=convention.dicon
2009-09-04 00:22:47,484 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=jdbc-extension.dicon
2009-09-04 00:22:47,531 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=jdbc.dicon
2009-09-04 00:22:47,531 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=j2ee.dicon
2009-09-04 00:22:47,625 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=dao.dicon
2009-09-04 00:22:47,640 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=HogeDao.dicon
2009-09-04 00:22:47,640 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=HogeService.dicon
2009-09-04 00:22:47,640 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=s2axis2.dicon
2009-09-04 00:22:47,671 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=s2axis2.dicon
2009-09-04 00:22:47,687 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=HogeService.dicon
2009-09-04 00:22:47,687 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=cooldeploy-autoregister.dicon
2009-09-04 00:22:47,687 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=customizer.dicon
2009-09-04 00:22:47,687 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=default-customizer.dicon
2009-09-04 00:22:47,687 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=std-customizer.dicon
2009-09-04 00:22:47,718 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=std-customizer.dicon
2009-09-04 00:22:47,718 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=default-customizer.dicon
2009-09-04 00:22:47,718 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=customizer.dicon
2009-09-04 00:22:47,718 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=creator.dicon
2009-09-04 00:22:47,750 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=creator.dicon
2009-09-04 00:22:47,750 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=cooldeploy-autoregister.dicon
2009-09-04 00:22:47,750 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=service/s2axis2Deploy.dicon
2009-09-04 00:22:47,781 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=service/s2axis2Deploy.dicon
2009-09-04 00:22:47,781 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=app.dicon
2009-09-04 00:22:48,234 [main] DEBUG org.seasar.remoting.axis2.deployment.AbstractServiceBuilder - デフォルトのMessageReceiverを設定しました : [service=HogeService, mep=http://www.w3.org/ns/wsdl/in-out, MessageReceiver=class org.apache.axis2.rpc.receivers.RPCMessageReceiver]
2009-09-04 00:22:48,234 [main] DEBUG org.seasar.remoting.axis2.deployment.AbstractServiceBuilder - デフォルトのMessageReceiverを設定しました : [service=HogeService, mep=http://www.w3.org/ns/wsdl/in-only, MessageReceiver=class org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver]
2009-09-04 00:22:48,390 [main] INFO org.seasar.remoting.axis2.deployer.AxisServiceDeployer - サービスをデプロイしました : HogeService
2009-09-04 00:22:48,390 [main] DEBUG org.seasar.remoting.axis2.deployment.AbstractServiceBuilder - デフォルトのMessageReceiverを設定しました : [service=HogeDao, mep=http://www.w3.org/ns/wsdl/in-out, MessageReceiver=class org.apache.axis2.rpc.receivers.RPCMessageReceiver]
2009-09-04 00:22:48,390 [main] DEBUG org.seasar.remoting.axis2.deployment.AbstractServiceBuilder - デフォルトのMessageReceiverを設定しました : [service=HogeDao, mep=http://www.w3.org/ns/wsdl/in-only, MessageReceiver=class org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver]
2009-09-04 00:22:48,390 [main] INFO org.seasar.remoting.axis2.deployer.AxisServiceDeployer - サービスをデプロイしました : HogeDao
2009-09-04 00:22:48,421 [main] INFO org.seasar.framework.container.factory.SingletonS2ContainerFactory - Running on [ENV]tt, [DEPLOY MODE]Cool Deploy
2009/09/04 0:22:48 org.apache.catalina.core.StandardContext addApplicationListener
情報: The listener "listeners.ContextListener" is already configured for this context. The duplicate definition has been ignored.
2009/09/04 0:22:48 org.apache.catalina.core.StandardContext addApplicationListener
情報: The listener "listeners.SessionListener" is already configured for this context. The duplicate definition has been ignored.
2009/09/04 0:22:48 org.apache.catalina.core.ApplicationContext log
情報: ContextListener: contextInitialized()
2009/09/04 0:22:48 org.apache.catalina.core.ApplicationContext log
情報: SessionListener: contextInitialized()
2009/09/04 0:22:48 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1を http-8080 で起動します
2009/09/04 0:22:48 org.apache.jk.common.ChannelSocket init
情報: JK: ajp13 listening on /0.0.0.0:8009
2009/09/04 0:22:48 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=0/15 config=null
2009/09/04 0:22:48 org.apache.catalina.startup.Catalina start
情報: Server startup in 2757 ms
------------------------------------------------------
テスト時のエラー表示
2009-09-04 00:26:23,765 [main] DEBUG org.seasar.framework.env.Env - 環境変数#Envにファイル(env.txt)から値(tt)が設定されました
2009-09-04 00:26:23,828 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=cooldeploy.dicon
2009-09-04 00:26:23,875 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=cooldeploy.dicon
2009-09-04 00:26:23,890 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=test/HogeTest.dicon
2009-09-04 00:26:23,890 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=s2axis2-client.dicon
2009-09-04 00:26:23,890 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=s2axis2.dicon
2009-09-04 00:26:23,953 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=s2axis2.dicon
2009-09-04 00:26:24,000 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=s2axis2-client.dicon
2009-09-04 00:26:24,000 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=test/HogeTest.dicon
2009-09-04 00:26:24,000 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=cooldeploy-autoregister.dicon
2009-09-04 00:26:24,000 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=convention.dicon
2009-09-04 00:26:24,015 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=convention.dicon
2009-09-04 00:26:24,015 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=customizer.dicon
2009-09-04 00:26:24,015 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=default-customizer.dicon
2009-09-04 00:26:24,015 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=std-customizer.dicon
2009-09-04 00:26:24,031 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=std-customizer.dicon
2009-09-04 00:26:24,046 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=default-customizer.dicon
2009-09-04 00:26:24,046 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=customizer.dicon
2009-09-04 00:26:24,046 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成します。path=creator.dicon
2009-09-04 00:26:24,062 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=creator.dicon
2009-09-04 00:26:24,062 [main] DEBUG org.seasar.framework.container.factory.S2ContainerFactory - S2Containerを作成しました。path=cooldeploy-autoregister.dicon
2009-09-04 00:26:24,062 [main] WARN org.seasar.framework.container.assembler.BindingTypeShouldDef - org.seasar.remoting.axis2.deployer.AxisDeployerのプロパティ(servletContext)が見つからないので設定をスキップします
2009-09-04 00:26:24,171 [main] INFO org.seasar.framework.container.factory.SingletonS2ContainerFactory - Running on [ENV]tt, [DEPLOY MODE]Cool Deploy
Exception in thread "main" org.seasar.remoting.axis2.client.S2AxisClientException: [EAXS1002]サービスの呼び出しに失敗しました : Address: http://localhost:8080/HOGE/services/HogeDao
at org.seasar.remoting.axis2.connector.AbstractRPCConnector.invoke(AbstractRPCConnector.java:133)
at org.seasar.remoting.common.connector.impl.TargetSpecificURLBasedConnector.invoke(TargetSpecificURLBasedConnector.java:105)
at org.seasar.remoting.common.interceptor.RemotingInterceptor.invoke(RemotingInterceptor.java:90)
at dao.HogeDao$$EnhancedByS2AOP$$9cfec1$$MethodInvocation$$getAll0.proceed(MethodInvocationClassGenerator.java)
at dao.HogeDao$$EnhancedByS2AOP$$9cfec1.getAll(HogeDao$$EnhancedByS2AOP$$9cfec1.java)
at test.HogeTest.execute(HogeTest.java:19)
at test.HogeTest.main(HogeTest.java:36)
Caused by: org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getAll
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:101)
at org.seasar.remoting.axis2.connector.AxisInOutConnector.execute(AxisInOutConnector.java:55)
at org.seasar.remoting.axis2.connector.AbstractRPCConnector.invoke(AbstractRPCConnector.java:131)
... 6 more