[意味]
不正または不適切なときにメソッドが呼び出されたことを示します。すなわち、Java環境またはJavaアプリケーションは、要求されたオペレーションに適した状態ではありません。
[原因]
以下の原因が考えられます。
例外メッセージが「Operation not allowed」の場合
実行された操作は許可されていません。
例外メッセージが「EJB not in READY state」の場合
呼出し可能な状態ではありません。
例外メッセージが「EJBObject not available」の場合
EJBObjectは取得できません。
例外メッセージが「EJBLocalObject not available」の場合
EJBLocalObjectは取得できません。
例外メッセージが「ERROR: only SessionBeans with bean-managed transactionscan obtain UserTransaction」の場合
トランザクション管理種別が「Container」のSession BeanではUserTransactionを取得できません。
アプリケーションで作成したスレッドでトランザクション取得を行っています。
例外メッセージが「No transaction context.」の場合
トランザクションが開始されていないため、トランザクションコンテキストがありません。
アプリケーションで作成したスレッドでトランザクション操作メソッドが実行されました。
例外メッセージが「EJB Timer Service not available」の場合
EJBタイマーサービスの初期化に失敗している可能性があります。
例外メッセージが「cannot add non-XA Resource to global JTS transaction.」の場合
「2.15.1 ローカルトランザクションとグローバルトランザクション」で説明されているグローバルトランザクションで動作する条件に該当し、非XAリソースを使用している可能性があります。
例外メッセージが「Post too large」の場合
リクエストのContent-Lengthヘッダーのサイズが、「POSTリクエストの最大サイズ」で指定した値を超えた可能性があります。
HttpServletResponseのAPI実行時にメッセージが空のIllegalStateExceptionがスローされる場合、レスポンスの一部または全部の返却を伴う処理後に以下の操作が実行された可能性があります。
resetBufferメソッドの呼び出し
sendErrorメソッドの呼び出し
sendRedirectメソッドの呼び出し
setBufferSizeメソッドが呼び出し
[ユーザの対処]
以下の対処を行ってください。
例外メッセージが「Operation not allowed」の場合
EJB規約を参照し、実行したメソッドを呼出し可能なメソッドで実行するようにアプリケーションを修正してください。
例外メッセージが「EJB not in READY state」の場合
EJB規約を参照し、実行したメソッドを呼出し可能なメソッドで実行するようにアプリケーションを修正してください。
例外メッセージが「EJBObject not available」の場合
EJB規約を参照し、getEJBObjectメソッドを呼出し可能なメソッドで実行するようにアプリケーションを修正してください。
例外メッセージが「EJBLocalObject not available」の場合
EJB規約を参照し、getEJBLocalObjectメソッドを呼出し可能なメソッドで実行するようにアプリケーションを修正してください。
例外メッセージが「ERROR: only SessionBeans with bean-managed transactionscan obtain UserTransaction」の場合
UserTransactionの操作を行わないようアプリケーションを修正してください。トランザクションのロールバックを行いたい場合は、EJBContext.setRollbackOnlyメソッドを使用してください。
アプリケーションで作成したスレッドでトランザクション管理することはJava EE規約で禁止されているため、コンテナから呼び出されたスレッドでトランザクション管理を実行してください。
例外メッセージが「No transaction context.」の場合
トランザクションを開始した状態でメソッドを実行するようにアプリケーションを修正してください。
アプリケーションで作成したスレッドでトランザクション管理することはJava EE規約で禁止されているため、コンテナから呼び出されたスレッドでトランザクション管理を実行してください。
例外メッセージが「EJB Timer Service not available」の場合
IJServerクラスタ起動時にEJB5108のメッセージが出力されていないか確認してください。EJB5108のメッセージが出力されている場合、EJB5108の対処を実施してください。
例外メッセージが「cannot add non-XA Resource to global JTS transaction.」の場合
「2.15.1 ローカルトランザクションとグローバルトランザクション」で説明されているグローバルトランザクションで動作する条件に合致しないように環境を変更するか、またはXAリソースを使用してください。できる限り環境を変更してローカルトランザクションを使用することをお勧めします。
例外メッセージが「Post too large」の場合
リクエストのContent-Lengthヘッダーが想定内のサイズの場合、「8.8.3 ネットワーク設定の定義項目」で説明されている「POSTリクエストの最大サイズ」を見直してください。
レスポンスの一部または全部の返却を伴う処理後に上記のAPIを実行することはできません。アプリケーションを確認して修正してください。
[意味]
ReadListenerがすでに設定されています。
[システムの処理]
処理を中断します。
[ユーザの対処]
setReadListenerを2回以上呼び出していないか確認してください。
[意味]
レスポンスをコミットした後でセッションを作成できません。
[原因]
レスポンスの一部、または全部の返却を伴う処理後にセッションを生成しようとしました。
[ユーザの対処]
レスポンスの一部、または全部の返却を伴う処理後に、HttpServletRequestのgetSessionメソッドを呼び出してセッションを生成しようとしていないか、アプリケーションを確認して修正してください。
[意味]
レスポンスをコミットした後でフォワードできません。
[原因]
アプリケーションに誤りがある可能性があります。
[ユーザの対処]
レスポンスをコミットする前に、またはコミットされる前にフォワードしてください。レスポンスバッファサイズを超えてレスポンスを出力した場合、自動でコミットされることがあります。
[意味]
ReadListenerを設定することができません。
[システムの処理]
処理を中断します。
[ユーザの対処]
ReadListenerは非同期リクエスト処理またはアップグレード処理においてだけ設定できます。アプリケーションを確認して修正してください。
[意味]
WriteListenerを設定することができません。
[システムの処理]
処理を中断します。
[ユーザの対処]
WriteListenerは非同期リクエスト処理またはアップグレード処理においてだけ設定できます。アプリケーションを確認して修正してください。
[意味]
セッションがない状態でchangeSessionIdが実行されました。
[システムの処理]
処理を中断します。
[ユーザの対処]
アプリケーションを見直してください。
[可変情報]
{0}: フィルター名
[意味]
フィルター{0}にfilter-classの定義が存在しません。
[システムの処理]
処理を中断します。
[ユーザの対処]
web.xmlの内容に誤りがあります。フィルター{0}の定義を見直してください。
[意味]
getInputStream()はこのリクエストに対してすでに呼び出されています。
[原因]
同一のリクエストに対して、getReaderメソッドとgetInputStreamメソッドが呼び出されました。
[ユーザの対処]
同一のリクエストに対しては、getInputStreamメソッドとgetReaderメソッドはどちらかだけ使用できます。アプリケーションを確認して修正してください。
[意味]
getOutputStream()はこのレスポンスに対してすでに呼び出されています。
[原因]
同一のレスポンスに対して、getOutputStreamメソッドとgetWriterメソッドが呼び出されました。
[ユーザの対処]
同一のレスポンスに対しては、getWriterメソッドとgetOutputStreamメソッドはどちらかだけ使用できます。アプリケーションを確認して修正してください。
[意味]
getReader()はこのリクエストに対してすでに呼び出されています。
[原因]
同一のリクエストに対して、getInputStreamメソッドとgetReaderメソッドが呼び出されました。
[ユーザの対処]
同一のリクエストに対しては、getReaderメソッドとgetInputStreamメソッドはどちらかだけ使用できます。アプリケーションを確認して修正してください。
[意味]
getWriter()はこのレスポンスに対してすでに呼び出されています。
[意味]
同一のレスポンスに対して、getWriterメソッドとgetOutputStreamメソッドが呼び出されました。
[ユーザの対処]
同一のレスポンスに対しては、getWriterメソッドとgetOutputStreamメソッドはどちらかだけ使用できます。アプリケーションを確認して修正してください。
[可変情報]
{0}:メソッド名
[意味]
メソッド{0}が、マルチパートの設定がされていないサーブレットに対して呼び出されました。
[システムの処理]
処理を中断します。
[ユーザの対処]
ファイルアップロード機能を使用する場合、サーブレットに@MultipartConfigアノテーションを追加するか、web.xmlで定義するようにしてください。
[可変情報]
{0}: メソッド名
[意味]
セッションはすでに無効化されています。
[原因]
無効化されたセッションに対してメソッド{0}を呼び出したため、IllegalStateException例外が発生しました。
[ユーザの対処]
無効化されたセッションインスタンス(HttpSessionインスタンス)に対してメソッド{0}を呼び出すことはできません。Webアプリケーションにおいて、すでに無効化されているセッションインスタンスに対してメソッド{0}の呼出しが行われていないことを確認してください。
[可変情報]
{0}: サーブレット名
[意味]
サーブレット{0}にservlet-classまたはjsp-fileの定義が存在しません。
[システムの処理]
処理を中断します。
[ユーザの対処]
web.xmlの内容に誤りがあります。サーブレット{0}の定義を見直してください。
[意味]
WriteListenerがすでに設定されています。
[システムの処理]
処理を中断します。
[ユーザの対処]
setWriteListenerを2回以上呼び出していないか確認してください。
[可変情報]
{0}: リソース名
[意味]
Webクラスローダがすでに停止しているため、リソースの取得に失敗しました。
[システムの処理]
処理を中断します。
[ユーザの対処]
通常業務中のHotDeploy機能の利用は推奨しません。HotDeploy機能はリクエストがない状況で利用してください。「1.4.2 配備時の注意事項」の「HotDeploy機能使用時の注意事項」を参照してください。
アプリケーションでスレッドを生成した場合、アプリケーションの終了処理完了時には、スレッドが終了しているようにしてください。終了処理後でもスレッドが動作している場合、本メッセージが出力されることがあります。アプリケーションの終了処理の例を以下に示します。
initメソッドでスレッド生成した場合
サーブレットのdestroyメソッドで、アプリケーションで作成したスレッドを終了することを推奨します。
contextInitializedメソッドでスレッド生成した場合
ServletContextListenerのcontextDestroyedメソッドで、アプリケーションで作成したスレッドを終了することを推奨します。
独自のログハンドラまたはログフォーマッタでJavaロギングを実施している場合、これらのクラスがシステム拡張ディレクトリに保管されていないことが考えられます。詳細は「4.17.7 アプリケーションからのログ出力」を参照してください。