[Seasar-user:15049] Re: 複数DBへの接続

r.m [E-MAIL ADDRESS DELETED]
2008年 7月 16日 (水) 16:04:52 JST


水澤と申します。
文字化けしてしまったので、再送します。


以前、自分がやったマルチデータソースの設定だと
#############################dao-my.dicon#############################
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
      "http://www.seasar.org/dtd/components24.dtd">
<components namespace="dao">
   <include path="daodicon"/>
      <include path="daotims.dicon"/>
      <include path="daooldcas.dicon"/>
</components>

#############################app.dicon#############################
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
       "http://www.seasar.org/dtd/components21.dtd">
<components>
     ---省略----
<include path="dao-my.dicon"/>
     ---省略----
</components>

それ以外は設定あっているかと思います。
旧VerのS2DAOだと、Dao.diconの部分の設定が違う(jarにはj2ee.diconが含まれていた)
はずなので、wikiのとはちょっと違うかもしれません。
新しいVerのだとDao.diconはjarに含まれています。

的外れでしたら、申し訳ありません。
参考になればと思います。


> 桑原です。お世話になります。
>
> 「SMART deployで複数データソースに対応するには?」
> http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e
>
> を参考にjdbc.diconやdao.diconを設定したのですが、2つの内1つの
> DBにしかアクセスしません。
> dao-my.diconに記載する2つのDBのincludeの順番を変えると、もう
> 一方のDBにアクセスできます。どうやら、1番目に来るincludeのdiconに
> 定義されたDBのみアクセスできるようです。
>
> データソースの切り替えの定義をソースに書く必要があるのか無いのか分かりま
> せんので、ご教示下さい。
>
>
> #############################dao-my.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components namespace="dao">
>        <include path="daotims.dicon"/>
>        <include path="daooldcas.dicon"/>
>
>        <include path="j2ee.dicon"/>
> </components>
>
>
> #############################daooldcas.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components namespace="daooldcas">
>        <include path="jdbcoldcas.dicon"/>
>        <component class="org.seasar.dao.impl.AnnotationReaderFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
>        <component
>                name="interceptor"
>                class="org.seasar.dao.pager.PagerS2DaoInterceptorWrapper">
>                <arg>
>                        <component class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
>                </arg>
>        </component>
>        <component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
>        <component
>                name="stringClobType"
>                class="org.seasar.extension.jdbc.types.StringClobType"
>        />
>        <component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
>        <component class="org.seasar.dao.impl.NullBeanEnhancer"/>
>        <component class="org.seasar.dao.impl.ResultSetHandlerFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DtoMetaDataFactoryImpl"/>
>        <component class="org.seasar.dao.impl.PropertyTypeFactoryBuilderImpl"/>
>        <component
> class="org.seasar.dao.impl.RelationPropertyTypeFactoryBuilderImpl"/>
>        <component class="org.seasar.dao.impl.DefaultTableNaming"/>
>        <component class="org.seasar.dao.impl.DefaultColumnNaming"/>
>        <component class="org.seasar.dao.impl.ProcedureMetaDataFactoryImpl"/>
> </components>
>
> #############################daotims.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components namespace="daotims">
>        <include path="jdbctims.dicon"/>
>        <component class="org.seasar.dao.impl.AnnotationReaderFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
>        <component
>                name="interceptor"
>                class="org.seasar.dao.pager.PagerS2DaoInterceptorWrapper">
>                <arg>
>                        <component class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
>                </arg>
>        </component>
>        <component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
>        <component
>                name="stringClobType"
>                class="org.seasar.extension.jdbc.types.StringClobType"
>        />
>        <component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
>        <component class="org.seasar.dao.impl.NullBeanEnhancer"/>
>        <component class="org.seasar.dao.impl.ResultSetHandlerFactoryImpl"/>
>        <component class="org.seasar.dao.impl.DtoMetaDataFactoryImpl"/>
>        <component class="org.seasar.dao.impl.PropertyTypeFactoryBuilderImpl"/>
>        <component
> class="org.seasar.dao.impl.RelationPropertyTypeFactoryBuilderImpl"/>
>        <component class="org.seasar.dao.impl.DefaultTableNaming"/>
>        <component class="org.seasar.dao.impl.DefaultColumnNaming"/>
>        <component class="org.seasar.dao.impl.ProcedureMetaDataFactoryImpl"/>
> </components>
>
>
> #############################jdbc.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components>
>        <include path="jdbcoldcas.dicon"/>
>        <include path="jdbctims.dicon"/>
> </components>
>
>
>
> #############################jdbcoldcas.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components namespace="jdbcoldcas">
>        <include path="jta.dicon"/>
>        <include path="jdbc-extension.dicon"/>
>
>        <component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
>        <component
> class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
>                <arg>
>                        <component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
>                </arg>
>                <property name="fetchSize">100</property>
>                <!--
>                <property name="maxRows">100</property>
>                -->
>        </component>
>        <!-- for PostgreSQL -->
>
>        <component name="xaDataSource"
>                class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
>                <property name="driverClassName">
>                        "org.postgresql.Driver"
>        </property>
>        <property name="URL">
>          "jdbc:postgresql://localhost:5432/oldcss"
>        </property>
>        <property name="user">"postgres"</property>
>        <property name="password">"postgres"</property>
>    </component>
>        <component name="connectionPool"
>                class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
>                <property name="timeout">600</property>
>                <property name="maxPoolSize">10</property>
>                <property name="allowLocalTx">true</property>
>                <destroyMethod name="close"/>
>        </component>
>
>        <component name="dataSource"
>                class="org.seasar.extension.dbcp.impl.DataSourceImpl"
>        />
> </components>
>
>
>
>
> #############################jdbctims.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components namespace="jdbctims">
>        <include path="jta.dicon"/>
>        <include path="jdbc-extension.dicon"/>
>
>        <component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
>        <component
> class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
>                <arg>
>                        <component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
>                </arg>
>                <property name="fetchSize">100</property>
>                <!--
>                <property name="maxRows">100</property>
>                -->
>        </component>
>
>        <!-- for PostgreSQL -->
>
>        <component name="xaDataSource"
>                class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
>                <property name="driverClassName">
>                        "org.postgresql.Driver"
>        </property>
>        <property name="URL">
>          "jdbc:postgresql://localhost:5432/e3lp20"
>        </property>
>        <property name="user">"postgres"</property>
>        <property name="password">"postgres"</property>
>    </component>
>        <component name="connectionPool"
>                class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
>                <property name="timeout">600</property>
>                <property name="maxPoolSize">10</property>
>                <property name="allowLocalTx">true</property>
>                <destroyMethod name="close"/>
>        </component>
>
>        <component name="dataSource"
>                class="org.seasar.extension.dbcp.impl.DataSourceImpl"
>        />
> </components>
>
>
>
> #############################custmizer.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
> <components>
>  <include path="default-customizer.dicon"/>
>  <component name="pageCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>
>        <component
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>          <initMethod name="addInterceptorName">
>            <arg>"app_aop.appFacesExceptionThrowsInterceptor"</arg>
>          </initMethod>
>          <property name="pointcut">"do.*, initialize, prerender"</property>
>        </component>
>      </arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>
>        <component
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>          <initMethod name="addInterceptorName">
>            <arg>"j2ee.requiredTx"</arg>
>          </initMethod>
>          <property name="pointcut">"do.*, initialize, prerender"</property>
>        </component>
>      </arg>
>    </initMethod>
>  </component>
>  <component name="actionCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>
>        <component
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>          <initMethod name="addInterceptorName">
>            <arg>"app_aop.actionSupportInterceptor"</arg>
>          </initMethod>
>          <property name="pointcut">"do.*, initialize, prerender"</property>
>        </component>
>      </arg>
>    </initMethod>
>  </component>
>  <component name="serviceCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>requiredTxCustomizer</arg>
>    </initMethod>
>  </component>
>  <component name="logicCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>  </component>
>  <component name="daoCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>s2DaoCustomizer</arg>
>    </initMethod>
>        <initMethod name="addCustomizer">
>                <arg>daotimsSupportAspectCustomizer</arg>
>        </initMethod>
>        <initMethod name="addCustomizer">
>                <arg>daooldcasSupportAspectCustomizer</arg>
>        </initMethod>
>  </component>
>  <component name="dxoCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>    <initMethod name="addCustomizer">
>      <arg>s2DxoCustomizer</arg>
>    </initMethod>
>  </component>
>  <component name="helperCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
>    <initMethod name="addCustomizer">
>      <arg>traceCustomizer</arg>
>    </initMethod>
>  </component>
>  <component name="daooldcasSupportAspectCustomizer"
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>        <property name="interceptorName">"daooldcas.interceptor"</property>
>        <initMethod name="addClassPattern">
>                <arg>"ordersheet.dao.daooldcas"</arg>
>                <arg>".*Dao"</arg>
>        </initMethod>
>  </component>
>  <component name="daotimsSupportAspectCustomizer"
> class="org.seasar.framework.container.customizer.AspectCustomizer">
>        <property name="interceptorName">"daotims.interceptor"</property>
>        <initMethod name="addClassPattern">
>                <arg>"ordersheet.dao.daotims"</arg>
>                <arg>".*Dao"</arg>
>        </initMethod>
>  </component>
>
> </components>
>
>
> #############################s2container.dicon#############################
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>        "http://www.seasar.org/dtd/components24.dtd">
>
> <components>
>    <include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
>    <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>
>    <include condition="#ENV != 'ut' and #ENV != 'ct'"
> path="cooldeploy.dicon"/>
>
>    <component
> class="org.seasar.framework.container.factory.SimplePathResolver">
>                <initMethod name="addRealPath">
>        <arg>"dao.dicon"</arg>
>        <arg>"dao-my.dicon"</arg><!-- 実際に使用する定義ファイル -->
>                </initMethod>
>        </component>
>
> </components>
>
>
>
>
>
> ###########################エラーメッセージ#############################
> 2008-07-16 15:05:35,187 [http-8080-1] DEBUG
> org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> ordersheet.dao.V_userDao#getUserByUsercd(el00001)
> 2008-07-16 15:05:35,265 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionPoolImpl - 物理的なコネクション
> を取得しました
> 2008-07-16 15:05:35,265 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionPoolImpl - 論理的なコネクション
> を取得しました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,265 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionWrapperImpl - 論理的なコネク
> ションを閉じました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,265 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionPoolImpl - 論理的なコネクション
> を取得しました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,312 [http-8080-1] WARN
> org.seasar.dao.impl.PropertyTypeFactoryImpl - テーブル(v_user)が見つかり
> ません
> 2008-07-16 15:05:35,312 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionWrapperImpl - 論理的なコネク
> ションを閉じました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,312 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionPoolImpl - 論理的なコネクション
> を取得しました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,328 [http-8080-1] DEBUG
> org.seasar.extension.jdbc.impl.BasicHandler - SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = 'el00001'
> 2008-07-16 15:05:35,328 [http-8080-1] DEBUG
> org.seasar.extension.dbcp.impl.ConnectionWrapperImpl - 論理的なコネク
> ションを閉じました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,328 [http-8080-1] DEBUG
> org.seasar.framework.aop.interceptors.TraceInterceptor - END
> ordersheet.dao.V_userDao#getUserByUsercd(el00001)
> Throwable:org.seasar.framework.exception.SQLRuntimeException:
> [ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?],
> Message=[[ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?], Message=[0],
> ErrorCode=42P01, SQLState={3})が発生しました : [SQLで例外(Message=
> [ERROR: relation "v_user" does not exist], ErrorCode=0, SQLState=42P01)
> が発生しました。], [ERROR: relation "v_user" does not exist],
> ErrorCode=0, SQLState=42P01)が発生しました
> 2008-07-16 15:05:35,359 [http-8080-1] DEBUG
> org.seasar.extension.jta.TransactionImpl - トランザクションをロールバッ
> クしました。tx=[FormatId=4360, GlobalId=1216186452953/6, BranchId=]
> 2008-07-16 15:05:35,359 [http-8080-1] DEBUG
> org.seasar.framework.aop.interceptors.TraceInterceptor - END
> ordersheet.web.NewentrustPage#doItakukanriseiSearch()
> Throwable:org.seasar.framework.exception.SQLRuntimeException:
> [ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?],
> Message=[[ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?], Message=[0],
> ErrorCode=42P01, SQLState={3})が発生しました : [SQLで例外(Message=
> [ERROR: relation "v_user" does not exist], ErrorCode=0, SQLState=42P01)
> が発生しました。], [ERROR: relation "v_user" does not exist],
> ErrorCode=0, SQLState=42P01)が発生しました
> 2008-07-16 15:05:35,375 [http-8080-1] DEBUG
> org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl -
> [ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?],
> Message=[[ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?], Message=[0],
> ErrorCode=42P01, SQLState={3})が発生しました : [SQLで例外(Message=
> [ERROR: relation "v_user" does not exist], ErrorCode=0, SQLState=42P01)
> が発生しました。], [ERROR: relation "v_user" does not exist],
> ErrorCode=0, SQLState=42P01)が発生しました
> org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外
> (SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?],
> Message=[[ESSR0072]SQLで例外(SQL=[SELECT
> user_cd,name_family,name_first,post,company_cd,company,organization_cd,organization,password
> FROM v_user where login_ok = '1' and user_cd = ?], Message=[0],
> ErrorCode=42P01, SQLState={3})が発生しました : [SQLで例外(Message=
> [ERROR: relation "v_user" does not exist], ErrorCode=0, SQLState=42P01)
> が発生しました。], [ERROR: relation "v_user" does not exist],
> ErrorCode=0, SQLState=42P01)が発生しました
>        at
> org.seasar.framework.util.PreparedStatementUtil.executeQuery(PreparedStatementUtil.java:48)
>        at
> org.seasar.extension.jdbc.impl.BasicResultSetFactory.createResultSet(BasicResultSetFactory.java:44)
>        at
> org.seasar.extension.jdbc.impl.BasicSelectHandler.createResultSet(BasicSelectHandler.java:281)
>        at
> org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:257)
>        at
> org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:210)
>        at
> org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:184)
>        at
> org.seasar.dao.impl.SelectDynamicCommand.execute(SelectDynamicCommand.java:69)
>        at
> org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53)
>        at
> org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:71)
>        at
> ordersheet.dao.V_userDao$$EnhancedByS2AOP$$1bb747a$$MethodInvocation$$getUserByUsercd0.proceed(MethodInvocationClassGenerator.java)
>        at
> org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:73)
>        at
> ordersheet.dao.V_userDao$$EnhancedByS2AOP$$1bb747a$$MethodInvocation$$getUserByUsercd0.proceed(MethodInvocationClassGenerator.java)
>        at
> ordersheet.dao.V_userDao$$EnhancedByS2AOP$$1bb747a.getUserByUsercd(V_userDao$$EnhancedByS2AOP$$1bb747a.java)
>        at
> ordersheet.web.NewentrustPage.doItakukanriseiSearch(NewentrustPage.java:89)
>        at
> ordersheet.web.NewentrustPage$$EnhancedByS2AOP$$56681b.$$doItakukanriseiSearch$$invokeSuperMethod$$(NewentrustPage$$EnhancedByS2AOP$$56681b.java)
>        at
> ordersheet.web.NewentrustPage$$EnhancedByS2AOP$$56681b$$MethodInvocation$$doItakukanriseiSearch5.proceed(MethodInvocationClassGenerator.java)
>
>
>
> ###########################ソース#############################
>
> SingletonS2ContainerFactory.setConfigPath("dao.dicon");
> SingletonS2ContainerFactory.init();
> S2Container container = SingletonS2ContainerFactory.getContainer();
> V_userDao dao = (V_userDao) container.getComponent(V_userDao.class);
>
> List<V_user> userinfo = dao.getUserByUsercd(itakukanriseiid);// ←ここで
> エラーになる
> itakukanriseitel = "";
> itakukanriseimail = "";
> for (int i = 0; i < userinfo.size(); ++i) {
>        // 検索がヒットした時
>        itakukanriseiname = userinfo.get(i).getName_family() + " " +
> userinfo.get(i).getName_first();
>        itakukanriseiorg = userinfo.get(i).getCompany() + " " +
> userinfo.get(i).getOrganization() + " " + userinfo.get(i).getPost();
>        return null;
> }
>
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内