私は簡単なアプリケーションを配備するためにAWSツールを使用しています。Amazon Webサービス - RDS設定
私はRDSインスタンス(Oracle)を持っており、動作しています。 (ローカル・コンピュータのSQL Developerからアクセスできます)
他の側では、私はjspで単純なアプリケーションをビルドしています。これはOracleインスタンスの表をループしています。画面。
なtest.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="dbconnection.DataSource"%>
<%@page import="java.sql.*"%>
<%@page import="oracle.jdbc.pool.OracleDataSource"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Tercera Prueba</title>
</head>
<body>
<%
DataSource ods = new DataSource();
Connection conn=ods.connect();
out.println (ods.getUserName(conn));
// Close the connection
conn.close();
conn = null;
%>
</body>
</html>
DataSource.java
import oracle.jdbc.pool.OracleDataSource;
public class DataSource
{
public String getUserName(Connection conn)
throws SQLException
{
// Create a Statement
Statement stmt = conn.createStatement();
String str="";
// Select the ENAME column from the EMP table
ResultSet rset = stmt.executeQuery ("select USER from dual");
// Iterate through the result and print the employee names
while (rset.next())
str= "User name is " + rset.getString (1);
// Close the RseultSet
rset.close();
rset = null;
// Close the Statement
stmt.close();
stmt = null;
return (str);
}
public Connection connect() throws SQLException{
// Create a OracleDataSource instance explicitly
OracleDataSource ods = new OracleDataSource();
// Set the user name, password, driver type and network protocol
ods.setDriverType("thin");
ods.setServerName("xxxxxx");
ods.setDatabaseName("oracledb");
ods.setPortNumber(1521);
ods.setUser("xxxxxx");
ods.setPassword("xxxxxxx");
Connection conn = ods.getConnection();
return (conn);
}
}
このアプリはApache Tomcatサーバー(ローカルホスト)に配備されると、すべてがうまく動作し、値が画面に表示されています。
しかし、一度このアプリは(Eclipse用AWSツールキットを使用して)Elastic Beanstalkでサービス上に展開され、Webページの読み込みのために時間がかかりすぎるし、最終的には何も(空白のページを)表示されません。実際には、エラーも表示されません。
私は行ずつをデバッグし、すべてがライン刚性うまくいけ:
Connection conn=ods.connect();
私は私のRDS Oracleインスタンスの設定に関連したものだと思います。確信はないけど。それはどのように構成されています。
あなたはどんな考えを持っていますか?
多くのおかげ
接続メソッドで非表示にしたサーバー名は、イメージのエンドポイントと同じですか?接続がタイムアウトするか、他のエラーが発生しますか?最初は、ファイアウォールの問題のように聞こえるが、JSPをホストするAWSインスタンスからアウトバウンドする必要があると考えられていましたか? –
はい。サーバー名はイメージ内のエンドポイントと同じです。私が実行すると、エラーはなく、ちょうどaproxがかかります。 1分後に空白のページが表示されます。最後の質問に答えようとしています。私が理解しているように、私はユーザー、パス、ホスト、ポート、db名を与えるだけで、RDS Oracleインスタンスに接続できます..それは私のローカルコンピュータからデータベース(Apache Tomcatの使用) – Lev