Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
System
>
TERASOLUNA Framework
>
Foren
>
Offene Diskussion
>
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について
TERASOLUNA Framework
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Wiki
Titelseite
Titel-Index
Kürzliche Änderungen
Doc Mgr
List Docs
Kommunikation
Foren
Forum-Liste
Offene Diskussion (1275)
Mailinglisten
Alle Mailinglisten
terasoluna-information
Neuigkeiten
Foren:
Offene Diskussion
(Thread #44393)
Zurück zur Thread-Liste
RSS
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-19 14:10 by
K.K
#87762)
Antworten
Ticket erstellen
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型で登録されるのでしょうか?
ご回答よろしくお願いします。
Reply to #87762
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-20 14:56 by
terasoluna
#87763)
Antworten
Ticket erstellen
メッセージ #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が自動選択される結果となっています。
Reply to
#87762
Reply to #87763
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-09-21 11:10 by
terasoluna
#88058)
Antworten
Ticket erstellen
メッセージ #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扱いとなり、
Reply to
#87763
Reply to #88058
×
Subjekt
Körper
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.)
Anmelden
Nickname
Vorschau
Eintrag
Abbrechen