ページの先頭です。
サイト内の現在位置を表示しています。
ここから本文です。

OpenMeisterEnterprise® FAQ 技術的お問合せについて

FAQ

Q. [共通]うるう秒が発生した場合、OME製品を利用しているアプリケーションになんらかの影響が発生しますか?
A. OME Java版では、ハードウェア、OS、JVMを通して時刻を取得しています。

Javaでは、時刻を取得する際や時刻データを扱うクラスにおいてUTC (Universal Time Coordinate) を反映することを意図して実装されており、うるう秒もこれに含まれます。

ただし、ハードウェア、OSを通してJVMが取得した時刻データが、うるう秒に対応しているかどうかは、そのハードウェアやOSに依存するため、もしハードウェアやOSがうるう秒に対応していない場合は、時刻データがずれたまま処理されます。うるう秒に対応していないハードウェアやOSにおける時刻補正は、通常の時刻補正と変わりません。

そのため、OME Java版における「うるう秒」特有の問題はありません。

なお、ハードウェアやOSにおける通常の時刻補正によって、時刻を遅くした場合にログの記録時刻が前後してしまうことが考えられますが、OME Java版では、ログに出力された記録時刻を利用した処理は行っておりませんので、その場合の影響もありません。

OME .NET版の時刻関連の処理は基本的にWindows オペレーティング システムの時計とMicrosoft .NET Framework の日付時刻処理に依存します。

Windows はうるう秒には対応していないため、なんらかのタイミングでWindows の時計の時刻が補正されるまで、ずれたままとなります。この時刻補正は、通常の時刻補正となんら変わるところはなく、うるう秒だからということでの問題は特にありません。

Q. [Java版]OMEのバージョンアップをする際、注意すべき点はありますでしょうか?
A. OME Java版は原則として各バージョン間の互換性を保っていますので、ライブラリファイルの置換のみでバージョンアップいただけます。

ただし、JDKやアプリケーションサーバの仕様変更のため、現行のバージョンによっては以下の通りアプリケーションの変更が必要になる場合があります。
  • EJBを呼び出すJSP(HTML)に、EJBのホームインタフェース名を指定するパラメータ(omeEJBHomeName)を追加(EJB版をご利用の場合)
  • 使用するJDKを1.3から1.4以降に変更する場合、JDKの仕様としてShift_JISにマッピングされている文字コードが変更になったため、エンコード設定を"Shift_JIS"から"Windows-31J"に変更
これらの変更はAPサーバ独自の仕様により、変更が不要な場合や、サーバ側の設定を変更するだけで済む場合があります。上述以外にもお使いのシステムの環境に依存した独自の変更が必要となる場合がありますので、更新した環境で既存のアプリケーションが動作するか検証されることをお勧めします。

OMEは評価版の貸出も承ります。評価版の貸出をご希望の場合は、お手数ですが お問合せ窓口 までお願いいたします。

Q. [Java版]”~”や”-”等を利用すると、文字化けしてしまいます。何か対処方法はありませんか?
A. ”~”や”-”等は、エンコード設定が Windows-31J か MS932 では正常に表示されますが、(JDK1.4以降では)Shift_JISやその他のエンコード設定では文字化けが発生してしまいます。エンコード設定が正しく設定されているかご確認下さい。

また、APサーバ(WebOTXなど)によっては、
<%@include file="getdata.inc"%>
でincludeするファイルxxx.incファイルについても、
<%@page pageEncoding="Windows-31J"%>
といったエンコード設定が必要な場合もありますのでご注意下さい。

Q. [Java版]1台のサーバを複数のプロジェクトで使用します。プロジェクトごとに、ome.Propertiesとして使用するプロパティファイルを変更する場合の設定方法及び使用方法を教えて下さい。
A. プロパティファイルは java コマンドで-Dome.Properties=プロパティファイルのパスを指定することにより設定を行うことができます。 OME Java版では、設定したプロパティファイルを環境識別子によって切り替える機構が実装されています。

したがって、プロジェクトごとに使用するプロパティファイルを変更することは、使用するプロパティファイルを環境識別子によって切り替えることにより可能となります。

以下に、環境識別子によってプロパティファイルを切り替える方法を示します。
  1. プロジェクトごとに異なる環境識別子を決めます。
  2. 各プロジェクトにおいて、アプリケーション基底クラスである。 OmAbstractControlSession.java の createSystemContext() をオーバーライドし、 OmSystemContext を 1 で決めた環境識別子を引数として生成します。
  3. -Dome.Properties で指定するプロパティファイルの中に 1 で決めた環境識別子ごとのプロパティファイルの設定を行います。 設定は ome.Properties.環境識別子=プロパティファイルのパス で設定します。
  4. javaコマンドの引数に -Dome.Properties=プロパティファイルのパス を設定します。
以上により、プロジェクトごとにプロパティファイルを変更して使用することができます。詳細につきましては、製品に含まれています『カスタマイズ説明書.doc』もご参照下さい。

Q. [Java版]データベースの接続先を複数設定し、処理によって接続先を変更することは可能でしょうか?
A. データベースへの接続先を処理によって変更する方法はいくつか考えられます。

1つはシステムコンテキスト(OmSystemContext)を生成する際に環境識別子を利用して作成し、その環境識別子ごとにデータベースの接続先を切り替えて利用する方法です。この方法の詳細については製品付属の『カスタマイズ説明書.doc』に記載されておりますので、ご参照ください。

その他、アプリケーション側で独自にコネクションを生成し、そのコネクションを利用することも可能です。その場合は、OMEのアプリケーション基底クラスが自動的にコネクションを作成しないように設定する必要があります。その設定の詳細につきましては、製品付属の『パラメータ一覧.xls』の「ome.UseDatabaseConnection」をご参照ください。

Q. [Java版]OME Java版にて、分散トランザクションを利用したアプリケーションを構築することは可能でしょうか?
A. OMEでは複数のデータベースに接続するための独自の機能は提供しておりませんが、分散トランザクションに対応するように適切に設定されたデータソースを利用することにより、そのような処理が可能になります。

Q. [Java版]OMEでストアドプロシージャを利用することは可能でしょうか?また、OMEのジェネレータで作成されたアプリケーションクラスからOracleのストアドプロシージャを呼ぶサンプルはありませんか?
A. ストアドプロシージャの呼び出しは可能です。OMEで実際にストアドプロシージャの呼び出しを行う場合はOmPreparedCallクラスを利用します。

詳細につきましては製品付属のAPIドキュメントの【OmPreparedCall】の説明をご覧ください。

ストアドプロシージャを呼び出すサンプルにつきましては残念ながら用意されておりません。

Q. [Java版]XXXBean.javaで登録処理や削除処理を行っていますが、コミットを行っていません。サーブレットの中で行っているのでしょうか。そうならばどのタイミングで行っているのでしょうか。
A. コミットは処理が正常に終了した時に行われます。また、例外などで異常終了した場合はロールバックが行われます。

EJB版ではEJBコンテナを使用してトランザクション管理をしている為、Javaコード上には記述されていません。

LW版ではEJB版と同じ動作をするようにコーディングされています。 コミットはOmLW・・・Sessionクラスのprocedureメソッドに記述されています。 (OmLW・・・SessionはAPパターンごとにあります。 汎用パターンの場合は、OmLWGeneralSessionになります。)

Q. [Java版]OMEでJavaプログラムを生成した場合、排他制御・複数ユーザによる同時利用を考慮したロジックは組み込まれるのでしょうか?
A. ジェネレータでは以下の内容に従ったソースを出力します。

データ更新時は、対象レコードをロックし、テーブルに用意しているリビジョンフィールドを読み込みます。この値を最初の検索処理等で取得していたリビジョンと比較し、変更されていないことを確認し、更新処理を実行します。なお、更新時には必ずリビジョンをカウントアップするようにします。

Q. [Java版]OME機能によって出力できるログの種類にはどのようなものがあるでしょうか?
例えばログイン情報や、使用APをロギングする仕組みは実装されているのでしょうか?
A. log4Jのモジュールを利用した、フレームワークの動作をトレースするためのトレースログが存在します。

このログはOMEのフレームワークの動作の情報をログ出力するためのものですが、アプリケーションの動作の情報も出力するように考慮されております。また、ログイン情報をアプリケーションの認証クラスでログ出力することも可能です。

なお、ログに関する詳細は、製品付属の『システムトレースログ使用説明書.doc』をご参照ください。

ページの先頭へ戻る