下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
System
>
TERASOLUNA Framework
>
討論區
>
公開討論
>
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について
TERASOLUNA Framework
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
Subversion
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
文檔
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
溝通
討論區
討論區列表
公開討論 (1277)
通信論壇
通信論壇列表
terasoluna-information
新聞
討論區:
公開討論
(Thread #44393)
Return to Thread list
RSS
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-19 14:10 by
K.K
#87762)
回覆
Create ticket
TERASOLUNA Batch Framework for Java 2.x系において同期型バッチを実行(JobStarter)する場合、
Bean定義ファイル(FrameworkBean.xmlやDefaultValueBean.xml)を参照しBeanを自動生成すると思います。
その中でDefaultValueBean.xmlに定義されている例外ハンドラMapについて質問なのですが
デフォルトでは以下のように書かれています。
<util:map id="exceptionHandlerMap">
<entry>
<key>
<bean class="jp.terasoluna.fw.batch.core.jobException" />
</key>
・
・
・
</entry>
</util:map>
JDK1.7でアプリケーションを動作させた場合、例外ハンドラMapの型はLinkedHashMapで登録されます。
しかしJDK1.8にした場合、例外ハンドラMapの型はLinkedMapになってしまいバッチ起動時にエラーが発生します。
ハンドラMapの定義に「map-class="java.util.LinkedHashMap"」を追記するとエラーは解消するのですが
Java7からJava8に移行した場合になぜBean定義ファイルのMap定義のmap-class属性が省略されていると
LinkedMap型で登録されるのでしょうか?
ご回答よろしくお願いします。
回覆 #87762
×
主題
內容
Reply To Message #87762 > TERASOLUNA Batch Framework for Java 2.x系において同期型バッチを実行(JobStarter)する場合、 > Bean定義ファイル(FrameworkBean.xmlやDefaultValueBean.xml)を参照しBeanを自動生成すると思います。 > > その中でDefaultValueBean.xmlに定義されている例外ハンドラMapについて質問なのですが > デフォルトでは以下のように書かれています。 > > <util:map id="exceptionHandlerMap"> > <entry> > <key> > <bean class="jp.terasoluna.fw.batch.core.jobException" /> > </key> > ・ > ・ > ・ > </entry> > </util:map> > > JDK1.7でアプリケーションを動作させた場合、例外ハンドラMapの型はLinkedHashMapで登録されます。 > しかしJDK1.8にした場合、例外ハンドラMapの型はLinkedMapになってしまいバッチ起動時にエラーが発生します。 > > ハンドラMapの定義に「map-class="java.util.LinkedHashMap"」を追記するとエラーは解消するのですが > Java7からJava8に移行した場合になぜBean定義ファイルのMap定義のmap-class属性が省略されていると > LinkedMap型で登録されるのでしょうか? > > ご回答よろしくお願いします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-20 14:56 by
terasoluna
#87763)
回覆
Create ticket
メッセージ #87762 への返信
> TERASOLUNA Batch Framework for Java 2.x系において同期型バッチを実行(JobStarter)する場合、
> Bean定義ファイル(FrameworkBean.xmlやDefaultValueBean.xml)を参照しBeanを自動生成すると思います。
>
> その中でDefaultValueBean.xmlに定義されている例外ハンドラMapについて質問なのですが
> デフォルトでは以下のように書かれています。
>
> <util:map id="exceptionHandlerMap">
> <entry>
> <key>
> <bean class="jp.terasoluna.fw.batch.core.jobException" />
> </key>
> ・
> ・
> ・
> </entry>
> </util:map>
>
> JDK1.7でアプリケーションを動作させた場合、例外ハンドラMapの型はLinkedHashMapで登録されます。
> しかしJDK1.8にした場合、例外ハンドラMapの型はLinkedMapになってしまいバッチ起動時にエラーが発生します。
>
> ハンドラMapの定義に「map-class="java.util.LinkedHashMap"」を追記するとエラーは解消するのですが
> Java7からJava8に移行した場合になぜBean定義ファイルのMap定義のmap-class属性が省略されていると
> LinkedMap型で登録されるのでしょうか?
>
> ご回答よろしくお願いします。
まず、TERASOLUNA Batch Framework for Java 2.x系に同梱しているSpring
# Batch FW 2.0.2.0までに同梱しているSpring 2.0.6
# Batch FW 2.0.3.0以降に同梱しているSpring 2.5.6.SEC01
は、JDK1.8には対応しておらず、
また、TERASOLUNA Batch Framework for Java 2.xでも動作検証は行っていないことをご承知おきください。
上記の事象は、SpringがJavaのバージョンを正しく認識できず、
LinkedHashMap(Java1.4以降であることが必須条件)が自動選択されない状況に陥ったことにより発生しております。
以下、詳細となります。
TERASOLUNA Batch Framework for Java 2.x系において、
Springが正しくJavaのバージョンを認識できるのが、1.7(Java7)までであり、
それ以降のJavaバージョンになりますと、正しく認識できず、
Springのバージョンによって、
Java1.3扱いもしくはJava1.4扱いとなります。
# Batch FW 2.0.2.0までに同梱しているSpring 2.0.6であれば、Java1.3扱い、
# Batch FW 2.0.3.0以降に同梱しているSpring 2.5.6.SEC01であれば、Java1.4扱いとなります。
# 詳しくは、ご利用のバージョンのSpringの、
# org.springframework.core.JdkVersionのソースでご確認いただけます。
<util:map id="exceptionHandlerMap">
<entry>
<key>
<bean class="jp.terasoluna.fw.batch.core.jobException" />
</key>
・
・
・
</entry>
</util:map>
によって生成されるMapは、
本来、ランタイムがJava1.4以降であれば、
java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、
判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、
java.util.LinkedHashMapが自動選択できず、
次の自動選択候補となるorg.apache.commons.collections.map.LinkedMapがクラスパス上に存在したため、
LinkedMapが自動選択される結果となっています。
回覆:
#87762
回覆 #87763
×
主題
內容
Reply To Message #87763 > メッセージ #87762 への返信 > > TERASOLUNA Batch Framework for Java 2.x系において同期型バッチを実行(JobStarter)する場合、 > > Bean定義ファイル(FrameworkBean.xmlやDefaultValueBean.xml)を参照しBeanを自動生成すると思います。 > > > > その中でDefaultValueBean.xmlに定義されている例外ハンドラMapについて質問なのですが > > デフォルトでは以下のように書かれています。 > > > > <util:map id="exceptionHandlerMap"> > > <entry> > > <key> > > <bean class="jp.terasoluna.fw.batch.core.jobException" /> > > </key> > > ・ > > ・ > > ・ > > </entry> > > </util:map> > > > > JDK1.7でアプリケーションを動作させた場合、例外ハンドラMapの型はLinkedHashMapで登録されます。 > > しかしJDK1.8にした場合、例外ハンドラMapの型はLinkedMapになってしまいバッチ起動時にエラーが発生します。 > > > > ハンドラMapの定義に「map-class="java.util.LinkedHashMap"」を追記するとエラーは解消するのですが > > Java7からJava8に移行した場合になぜBean定義ファイルのMap定義のmap-class属性が省略されていると > > LinkedMap型で登録されるのでしょうか? > > > > ご回答よろしくお願いします。 > > まず、TERASOLUNA Batch Framework for Java 2.x系に同梱しているSpring > # Batch FW 2.0.2.0までに同梱しているSpring 2.0.6 > # Batch FW 2.0.3.0以降に同梱しているSpring 2.5.6.SEC01 > は、JDK1.8には対応しておらず、 > また、TERASOLUNA Batch Framework for Java 2.xでも動作検証は行っていないことをご承知おきください。 > > 上記の事象は、SpringがJavaのバージョンを正しく認識できず、 > LinkedHashMap(Java1.4以降であることが必須条件)が自動選択されない状況に陥ったことにより発生しております。 > > 以下、詳細となります。 > > TERASOLUNA Batch Framework for Java 2.x系において、 > Springが正しくJavaのバージョンを認識できるのが、1.7(Java7)までであり、 > それ以降のJavaバージョンになりますと、正しく認識できず、 > Springのバージョンによって、 > Java1.3扱いもしくはJava1.4扱いとなります。 > # Batch FW 2.0.2.0までに同梱しているSpring 2.0.6であれば、Java1.3扱い、 > # Batch FW 2.0.3.0以降に同梱しているSpring 2.5.6.SEC01であれば、Java1.4扱いとなります。 > # 詳しくは、ご利用のバージョンのSpringの、 > # org.springframework.core.JdkVersionのソースでご確認いただけます。 > > <util:map id="exceptionHandlerMap"> > <entry> > <key> > <bean class="jp.terasoluna.fw.batch.core.jobException" /> > </key> > ・ > ・ > ・ > </entry> > </util:map> > によって生成されるMapは、 > 本来、ランタイムがJava1.4以降であれば、 > java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、 > 判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、 > java.util.LinkedHashMapが自動選択できず、 > 次の自動選択候補となるorg.apache.commons.collections.map.LinkedMapがクラスパス上に存在したため、 > LinkedMapが自動選択される結果となっています。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-09-21 11:10 by
terasoluna
#88058)
回覆
Create ticket
メッセージ #87763 への返信
前回の回答について、2点訂正させて下さい。
> 上記の事象は、SpringがJavaのバージョンを正しく認識できず、
> LinkedHashMap(Java1.4以降であることが必須条件)が自動選択されない状況に陥ったことにより発生しております。
誤)
LinkedHashMap(Java1.4以降であることが必須条件)
正)
LinkedHashMap(Java1.5以降であることが必須条件)
> によって生成されるMapは、
> 本来、ランタイムがJava1.4以降であれば、
> java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、
> 判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、
> java.util.LinkedHashMapが自動選択できず、
> 次の自動選択候補となるorg.apache.commons.collections.map.LinkedMapがクラスパス上に存在したため、
> LinkedMapが自動選択される結果となっています。
誤)
本来、ランタイムがJava1.4以降であれば、
java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、
判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、
正)
本来、ランタイムがJava1.5以降であれば、
java.util.LinkedHashMap(JDK1.5で追加されたクラス)が自動選択されますが、
判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱い、Spring 2.5.6.SEC01ではJava1.4扱いとなり、
回覆:
#87763
回覆 #88058
×
主題
內容
Reply To Message #88058 > メッセージ #87763 への返信 > > 前回の回答について、2点訂正させて下さい。 > > > 上記の事象は、SpringがJavaのバージョンを正しく認識できず、 > > LinkedHashMap(Java1.4以降であることが必須条件)が自動選択されない状況に陥ったことにより発生しております。 > > 誤) > LinkedHashMap(Java1.4以降であることが必須条件) > 正) > LinkedHashMap(Java1.5以降であることが必須条件) > > > > > によって生成されるMapは、 > > 本来、ランタイムがJava1.4以降であれば、 > > java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、 > > 判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、 > > java.util.LinkedHashMapが自動選択できず、 > > 次の自動選択候補となるorg.apache.commons.collections.map.LinkedMapがクラスパス上に存在したため、 > > LinkedMapが自動選択される結果となっています。 > > 誤) > 本来、ランタイムがJava1.4以降であれば、 > java.util.LinkedHashMap(JDK1.4で追加されたクラス)が自動選択されますが、 > 判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱いとなり、 > > 正) > 本来、ランタイムがJava1.5以降であれば、 > java.util.LinkedHashMap(JDK1.5で追加されたクラス)が自動選択されますが、 > 判定不能バージョンのJava(1.8)が、Spring 2.0.6ではJava1.3扱い、Spring 2.5.6.SEC01ではJava1.4扱いとなり、
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
登入
Nickname
預覽
Post
取消