Télécharger
Développer
Compte
Télécharger
Développer
Connexion
Mot de passe oublié ?
Créer un compte
Langue
Aide
Langue
Aide
×
Connexion
Nom du compte
Mot de passe
×
Mot de passe oublié ?
Traduction statut du Français
Catégorie :
Logiciel
Peuple
PersonalForge
Magazine
Wiki
Recherche
OSDN
>
Trouver un logiciel
>
System
>
TERASOLUNA Framework
>
Forums
>
Discussion-Ouverte
>
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について
TERASOLUNA Framework
Description
Résumé du projet
Dashboard - Développeur
Page Web
Développeurs
Galerie d'images
Liste des flux RSS
Activité
Statistiques
Historique
Téléchargements
List of Releases
Stats
Code Source
Liste des dépôts de code
Subversion
Voir le référentiel
Ticket
Liste des tickets
Liste des Jalons
Liste des types
Liste des composants
Liste des tickets/RSS fréquemment utilisés
Soumettre un nouveau ticket
Documents
Wiki
Page de garde
Index du titre
Modifications récentes
Doc Mgr
List Docs
Communication
Forums
Liste des forums
Discussion-Ouverte (1277)
Listes de diffusion
Liste de ML
terasoluna-information
Nouvelles
Forums:
Discussion-Ouverte
(Thread #44393)
Retour à la liste de discussion
RSS
Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-19 14:10 by
K.K
#87762)
Répondre
Création d'un nouveau 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型で登録されるのでしょうか?
ご回答よろしくお願いします。
Répondre à 87762
×
Sujet
Body
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
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.)
Connexion
Nickname
Aperçu
Post
Annuler
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-07-20 14:56 by
terasoluna
#87763)
Répondre
Création d'un nouveau 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が自動選択される結果となっています。
Répondre à
#87762
Répondre à 87763
×
Sujet
Body
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
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.)
Connexion
Nickname
Aperçu
Post
Annuler
Re: Bean定義ファイル(xml)を用いてBeanを生成する際のMapの型について (2021-09-21 11:10 by
terasoluna
#88058)
Répondre
Création d'un nouveau 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扱いとなり、
Répondre à
#87763
Répondre à 88058
×
Sujet
Body
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
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.)
Connexion
Nickname
Aperçu
Post
Annuler