[Seasar-user:22071] Re: Weblogic 12cに関連して
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2015年 6月 18日 (木) 14:12:39 JST
小林様、
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
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20150618/5bbc5992/attachment.html>
Seasar-user メーリングリストの案内