SAP CP Trial環境でMulti Target Applicationを作ってみる【JavaアプリとDBModuleの連携】
はじめに
前回、SAP CloudPlatform Trial環境でMTA(Multi Target Application)を作成して
MTAプロジェクトにDBModuleを追加しました。
【前回】
SAP CP Trial環境でMulti Target Applicationを作ってみる【DBModuleの作り方】
最終的には
DB ⇔ OData ⇔ Fiori
の連携を実現できるMTAプロジェクト作成を目指します。
ということで、
今回はODataServiceの作成の前提として、
前回作成したDBModuleと連携できるJavaアプリを同じMTAプロジェクト内に作成してみます。
そのため、SAP CloudPlatform Trial環境でのHDI Containerインスタンス作成や
MTA・DBModuleの作成が前提となっています。
Java Moduleの追加
DBModuleを含むMTAプロジェクトを右クリックし、
「New」→「Java Module」を選択します。
作成するJava Moduleのテンプレートを選びます。
「Spring Boot Application」を選択してNext
Finish を押下します
Java Moduleが追加されて、
中身には"Hello World !!"となにかDBとの接続をしてくれそうなコードがありました(HelloController.java)
動きそうだったので、
springMod
を選択した状態で実行ボタンを押下し、
Java Moduleを実行してみました。
コンソール部分にRunningって出たらOK
SAP CloudPlatformのコクピット画面からApplicationsを確認します。
ステータスがStarted
でspringModと書いてあるやつがあるので詳細画面を開きます。
「Hello World !!」が表示されました。
しかし、JDBCはつながっていないみたいです
もう一度WebIDEに戻り、
HelloController.javaの中のDB接続周りを確認してみます。
System.getenv("VCAP_SERVICES")
この中身を確認したところ、DBの接続設定を取得しようされていました。
取得されている内容はCF環境のdevスペースにあるHDI ContainerのServiceInstanceの一覧に増えていた以下のインスタンスの詳細情報でした。
取得時のKey等が違ったので、以下のように修正
private Connection getConnection() {
Connection conn = null;
String DB_USERNAME = "";
String DB_PASSWORD = "";
// String DB_HOST = "";
// String DB_PORT = "";
try {
JSONObject obj = new JSONObject(System.getenv("VCAP_SERVICES"));
JSONArray arr = obj.getJSONArray("hanatrial");
DB_USERNAME = arr.getJSONObject(0).getJSONObject("credentials").getString("user");
DB_PASSWORD = arr.getJSONObject(0).getJSONObject("credentials").getString("password");
// DB_HOST = arr.getJSONObject(0).getJSONObject("credentials").getString("host").split(",")[0];
// DB_PORT = arr.getJSONObject(0).getJSONObject("credentials").getString("port");
// String DB_READ_CONNECTION_URL = "jdbc:sap://" + DB_HOST + ":" + DB_PORT;
String DB_READ_CONNECTION_URL = arr.getJSONObject(0).getJSONObject("credentials").getString("url");
conn = (Connection) DriverManager.getConnection(DB_READ_CONNECTION_URL, DB_USERNAME, DB_PASSWORD);
} catch (Exception e) {
System.out.println("Connection Error");
}
return conn;
}
保存して再度実行してみました。
うまくいった感じがします。
おわりに
上記まででひとまずMTAで実現する
DB ⇔ OData ⇔ Fiori
のOData部分のベースが作成できたと思います。
次は今回連携したJavaアプリをベースに、
OData部分をで作成したいと思います。
Author And Source
この問題について(SAP CP Trial環境でMulti Target Applicationを作ってみる【JavaアプリとDBModuleの連携】), 我々は、より多くの情報をここで見つけました https://qiita.com/yonekura-h/items/0e1e16b303d4a4ed6503著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .