[Seasar-user:22073] Re: Weblogic 12cに関連して

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2015年 6月 19日 (金) 06:00:00 JST


小林 (koichik) です。

「詳細」とのことですが、ログもなければWebLogicへの
デプロイ方法の記述もありません。
エスパーではないので「機能しない」「エラーが発生する」
ばかりでは何が起きているか理解のしようがありません。

自動登録にはFileSystemComponentAutoRegisterが
使われていますが、それならWebLogicに対してはWarが
ファイルシステム上に展開された形でデプロイ
されている必要があるかと思います。
実際にそうなってますか?

おそらく、以下の「展開されたアーカイブ・ディレクトリ」
からデプロイする必要があるはずです。

http://docs.oracle.com/cd/E28613_01/web.1211/b65920/deployunits.htm#i1045818



On Thu, 18 Jun 2015 05:12:39 +0000, <markn0053 @ gmail.com> wrote:

> 小林様、
> takaです。
> 早速の回答ありがとうございます。
> 以下、エラー発生の詳細です。
> 
> 
> 
> >> diconに記述したコンポーネントの自動登録が機能しません。
> >「機能しない」とは具体的にどういう状況でしょうか?
> >「自動登録」はComponentAutoRegisterとSMART deployの
> >どちらでしょうか?
> >可能な範囲でdiconを見せてください。
> 
> 
> コンポーネント取得エラーが発生する箇所です。
>  
> ★呼び出し元メソッド
>     private void getMessage() {
>         Map messages = (Map)Util.getComponent(message_name);
>         MessageLogic logic = (MessageLogic)Util.getComponent(MessageLogic.class);
>  
> 上記(MessageLogic)Util.getComponent(MessageLogic.class)メソッドでExceptionが発生します。
> 本クラスはapp.diconの自動登録でコンポーネントが登録される
> 想定になります。
> 
> 
> インターフェースクラス
> cicdts.online.logic.MessageLogic
> 実装クラス
> cicdts.online.logic.impl.MessageLogicImpl
> 
> 
> このコンポーネントは
> 下記の場所で登録されています。
> ※app.diconの抜粋 108行目
>  
>               <component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>               >
>                             <initMethod name="addClassPattern">
>                                           <arg>"cicdts.online"</arg>
>                                           <arg>".*LogicImpl"</arg>
>                             </initMethod>
>               </component>
>  
>  
> ★呼び出し先メソッド
>         /**
>         * S2Container からcomponentKeyに関連付けられたコンポーネントを取得する。
>         * @param componentKey
>         * @return
>         */
>         public static Object getComponent(Object componentKey) {
>                 try {
>                         return SingletonS2ContainerFactory.getContainer().getComponent(componentKey);
>                 }catch(EmptyRuntimeException e) {
>                         return null;
>                 }
>         }
>  
> 下記に、app.dicon全文を載せます。
> 
> 
> <?xml version="1.0" encoding="Shift_JIS"?>
> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
>  "http://www.seasar.org/dtd/components21.dtd">
> <components>
>  <include path="jsf.dicon"/>
>  <include path="dao.dicon"/>
>  <include path="cicdts/online/dicon/allaop.dicon"/>
>  <include path="cicdts/online/dicon/allconverter.dicon"/>
>  <include path="cicdts/online/dicon/allvalidator.dicon"/>
>  <include path="cicdts/online/dicon/dtolist.dicon"/>
>  <include path="cicdts/online/dicon/selectitem.dicon"/>
>  <include path="cicdts/online/dicon/selectonemenu.dicon"/>
>  <include path="cicdts/online/dicon/handler.dicon"/>
>  <include path="cicdts/online/dicon/message.dicon"/>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>  >
> 
> 
>   <property name="instanceDef">
>    @org.seasar.framework.container.deployer.InstanceDefFactory @ REQUEST
>   </property>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_00.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_01.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_02.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_03.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_04.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_05.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_06.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_07.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_08.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.ct_09.action.impl"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.AspectAutoRegister"
>  >
>   <property name="interceptor">actionInterceptorChain</property>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online"</arg>
>    <arg>".*ActionImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>  >
>   <property name="instanceDef">
>    @org.seasar.framework.container.deployer.InstanceDefFactory @ SESSION
>   </property>
>   <initMethod name="addIgnoreClassPattern">
>    <arg>"cicdts.online.dao.impl"</arg>
>    <arg>"AbstractDaoImpl"</arg>
>   </initMethod>
>   <initMethod name="addIgnoreClassPattern">
>    <arg>"cicdts.online.dto"</arg>
>    <arg>"Ct_T29Dto"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.dto"</arg>
>    <arg>".*Dto"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>  >
>   <property name="instanceDef">
>    @org.seasar.framework.container.deployer.InstanceDefFactory @ REQUEST
>   </property>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online.validator"</arg>
>    <arg>".*Validator"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>  >
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online"</arg>
>    <arg>".*LogicImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.AspectAutoRegister"
>  >
>   <property name="interceptor">logicInterceptorChain</property>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online"</arg>
>    <arg>".*LogicImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"
>  >
>   <initMethod name="addIgnoreClassPattern">
>    <arg>"cicdts.online.dao.impl"</arg>
>    <arg>"AbstractDaoImpl"</arg>
>   </initMethod>
>   <initMethod name="addIgnoreClassPattern">
>    <arg>"cicdts.online.dao.impl"</arg>
>    <arg>"SelectItemDaoImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online"</arg>
>    <arg>".*DaoImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
>  <component name="holder" class="cicdts.online.dto.Holder" instance="session" autoBinding="none" />
> 
> 
>  <component
>   class="org.seasar.framework.container.autoregister.AspectAutoRegister"
>  >
>   <property name="interceptor">allaop.daoInterceptorChain</property>
>   <initMethod name="addIgnoreClassPattern">
>    <arg>"cicdts.online.dao.impl"</arg>
>    <arg>"AbstractDaoImpl"</arg>
>   </initMethod>
>   <initMethod name="addClassPattern">
>    <arg>"cicdts.online"</arg>
>    <arg>".*DaoImpl"</arg>
>   </initMethod>
>  </component>
> 
> 
> </components>
> 
> 
> 以上、よろしくお願いします。
> 
> 
> 
> 
> 
> 
> 差出人: Koichi Kobayashi
> 送信日時: ?2015?年?6?月?17?日 ?水曜日 ?5?:?41
> 宛先: seasar-user @ ml.seasar.org
> 
> 
> 
> 
> 
> 小林 (koichik) です。
> 
> 問題点2が問題点1の原因になっているかもしれないので、
> まずは問題点2を解決するのがよさそうです。
> 
> > diconに記述したコンポーネントの自動登録が機能しません。
> 
> 「機能しない」とは具体的にどういう状況でしょうか?
> 
> 「自動登録」はComponentAutoRegisterとSMART deployの
> どちらでしょうか?
> 可能な範囲でdiconを見せてください。
> 
> org.seasarのログ出力レベルをDEBUGにするとコンポーネントの
> 初期化時のログが出力されるので、それも見せてください。
> 
> また、WebLogicへのデプロイ方法 (WARでとかEARでとか) や
> 自動登録されないクラスの所在 (WARの中のWEB-INF/classesか
> WEB-INF/libの下のJarの中なのか) など、可能な限り詳細な
> 情報を提供してください。
> 
> 
> On Tue, 16 Jun 2015 10:11:14 +0000, <markn0053 @ gmail.com> wrote:
> 
> > 
> > 
> > 重複申し訳ありません。
> > 
> > 
> > こんにちは、
> > takaと申します。
> > 早速のご回答ありがとうございます。
> > こちらで問題解決せず、また質問させていただきます。
> > 
> > 
> > 
> > 
> > 必ずしも直接の回答でなくても、解決のヒントでもいただければと思います。
> > 
> > 
> > 
> > 
> > 詳細は以下のようになります。
> > 
> > 
> > 
> > 
> > 業務でSeasar2で作られたプロジェクトの
> > マイグレーションを担当しています。
> >  
> > 既存アプリケーションが
> > 下記環境で稼動します。
> > WindowsServer2003
> > Oracle9i
> > WebLogic8
> > S2-framework-2.3.10
> > S2-jsf-1.0.16
> >  
> > この環境を下記の環境に
> > 出来る限りソースを変更せずに
> > 移行させたいです。
> > WindowsServer2012
> > Oracle12C
> > WebLogic12C
> >  
> > 現状の問題点として2つあります。
> >  
> > 問題点1
> > JSF画面が変換されず、JSF変換前の
> > 画面がそのままクライアント側に表示されてしまいます。
> >  
> > ※抜粋始
> > <html xmlns:m="http://www.seasar.org/maya">
> > <div id="aMain" style="display:none;"><a href="../XA_00/XA_00001.html" target="mainF" class="linkLine" m:action="#{xA_00001Action.mainMenu}">
> > ※抜粋終
> >  
> > “m”タグを使用したところが
> > 変換されないで、そのままクライアントで表示されてしまいます。
> > ※s2jsfで記述した画面が変換されない。
> >  
> > WebLogic側のログも確認しましたが
> > エラーが出力されていない状態です。
> > 
> > 
> > 
> > 問題点2
> > diconに記述したコンポーネントの自動登録が機能しません。
> > コンポーネントを1個ずつ、diconファイルに記述すればコンポーネントが取れたことは
> > 確認出来ました。
> >  
> >  
> > 同じような環境で解決案又はアドバイスを
> > 頂けたら幸いです。
> >  
> > 
> > 以上
> > 宜しくお願いします。
> 
> 
> -- 
> {
>   name: "Koichi Kobayashi",
>   mail: "koichik @ improvement.jp",
>   blog: "http://d.hatena.ne.jp/koichik/",
>   twitter: "@koichik"
> }
> 
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "koichik @ improvement.jp",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



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