sun-application-client.xml
sun-ejb-jar.xml
sun-web.xml
「メッセージ送信先」タブの「JNDI 名」に指定された JMS 送信先リソースが Sun 記述子に保存されていない可能性があります。送信先名 (たとえば、create-jmsdest で作成された物理送信先である PhysicalQueue) を指定して Enter キーを押すと、「表示名」の下に「送信先名」が表示され、クライアント名または Bean 名が「プロデューサ」リストに表示されます。「Sun 固有の JNDI 名」テキストフィールドに「jms/Queue」と入力して Enter キーを押すと、アプリケーションはタイトルバーで「(変更されています)」とは表示されず、エラーが ~/.deploytool/logfile に書き込まれます。アプリケーションを保存し、「メッセージ送信先」タブに戻ると、「JNDI 名」フィールドは再度空白になります。「ツール」、「記述子ビューア」、「Application Server 記述子」の順に選択して Sun 記述子を表示すると、<jndi-name\> 要素内の <message-destination\> 要素は作成されていません。
問題は、Deploytool セッション中に「メッセージ送信先の JNDI 名」に値を初めて入力すると、Sun 記述子内では値が正しく見えますが、org.netbeans.modules.schema2beans.BeanProp.setElement() によって IllegalArgumentException がスローされることです。その後、同じアプリケーションまたは別のアプリケーションで「メッセージ送信先の JNDI 名」を変更または追加しても、Sun 記述子に保存されません。
既存のメッセージ送信先の JNDI 名を編集するには、次の手順に従います。
「JNDI 名」テキストフィールドを空白のままにして Enter キーを押すことで、既存の JNDI 名を削除します。
新しい JNDI 名を入力し、Enter キーを押します。
「ツール」、「記述子ビューア」、「Application Server 記述子」の順にクリックして、Sun 記述子を確認します。
「ファイル」、「保存」の順にクリックして、アプリケーションを保存します。
JNDI 名が Sun 記述子に保存されていない場合は、次の手順に従います。
Deploytool を再起動します。
「メッセージ送信先」タブでメッセージ送信先を選択するか、新しいメッセージ送信先を追加します。
「Sun 固有の JNDI 名」テキストフィールドにメッセージ送信先の JNDI 名を入力し、Enter キーを押します。
「ツール」、「記述子ビューア」、「Application Server 記述子」の順にクリックして、Sun 記述子を確認します。
「ファイル」、「保存」の順にクリックして、アプリケーションを保存します。
Deploytool のセッション中に初めて「JNDI 名」テキストフィールドに値を入力する場合を除き、「メッセージ送信先」タブで「Sun 固有の JNDI 名」に値を入力する必要が生じるたびにこの手順を繰り返します。