Skip to content

Commit 9fdbf3b

Browse files
committed
2 parents a0b0a18 + 0ec3d51 commit 9fdbf3b

File tree

13 files changed

+713
-597
lines changed

13 files changed

+713
-597
lines changed

java/jdbc/SpringBootApp/src/HelloAppConfig.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
<bean id="dataSource" class="oracle.ucp.jdbc.PoolDataSourceImpl">
88
<property name="connectionFactoryClassName"
99
value="oracle.jdbc.pool.OracleDataSource" />
10+
<!-- Connection URL uses a TNS alias -->
1011
<property name="URL" value="jdbc:oracle:thin:@jdbctest_medium?TNS_ADMIN=D:/temp/wallet_JDBCTEST" />
11-
<property name="user" value="jdbcuser" />
12-
<property name="password" value="WE10come12##" />
12+
<property name="user" value="testuser" />
13+
<property name="password" value="password!234!" />
1314
<property name="maxPoolSize" value="10" />
1415
<property name="initialPoolSize" value="5" />
1516
</bean>
@@ -19,4 +20,4 @@
1920
<property name="dataSource" ref="dataSource" />
2021
</bean>
2122

22-
</beans>
23+
</beans>

java/jdbc/WebLogicServer_Servlet/src/JDBCSample_Servlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private DataSource getDataSource() throws NamingException {
6464
Context ctx = new InitialContext();
6565
// Look up for the JNDI datasource
6666
javax.sql.DataSource ds
67-
= (javax.sql.DataSource) ctx.lookup ("orcljdbc_ds");
67+
= (javax.sql.DataSource) ctx.lookup ("orcl_ds");
6868
return ds;
6969
}
7070
/*
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
package com.jdbc;
2+
3+
import java.io.IOException;
4+
import java.io.PrintWriter;
5+
import java.sql.Connection;
6+
import java.sql.ResultSet;
7+
import java.sql.SQLException;
8+
import java.sql.Statement;
9+
10+
import javax.naming.Context;
11+
import javax.naming.InitialContext;
12+
import javax.naming.NamingException;
13+
import javax.servlet.ServletException;
14+
import javax.servlet.annotation.WebServlet;
15+
import javax.servlet.http.HttpServlet;
16+
import javax.servlet.http.HttpServletRequest;
17+
import javax.servlet.http.HttpServletResponse;
18+
19+
import oracle.ucp.admin.UniversalConnectionPoolManagerImpl;
20+
import oracle.ucp.jdbc.PoolDataSource;
21+
22+
/**
23+
* Servlet implementation class UCPServlet
24+
*/
25+
@WebServlet("/UCPServlet")
26+
public class UCPServlet extends HttpServlet {
27+
private static final long serialVersionUID = 1L;
28+
29+
/**
30+
* @see HttpServlet#HttpServlet()
31+
*/
32+
public UCPServlet() {
33+
super();
34+
}
35+
36+
/**
37+
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
38+
*/
39+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
40+
throws ServletException, IOException {
41+
PrintWriter out = response.getWriter();
42+
43+
out.println("Servlet to test ATP using UCP");
44+
Connection conn = null;
45+
try {
46+
// Get a context for the JNDI look up
47+
PoolDataSource pds = getPoolInstance();
48+
conn = pds.getConnection();
49+
50+
// Prepare a statement to execute the SQL Queries.
51+
Statement statement = conn.createStatement();
52+
// Create table EMP
53+
statement.executeUpdate("create table EMP(EMPLOYEEID NUMBER,"
54+
+ "EMPLOYEENAME VARCHAR2 (20))");
55+
out.println("New table EMP is created");
56+
// Insert some records into the table EMP
57+
statement.executeUpdate("insert into EMP values(1, 'Jennifer Jones')");
58+
statement.executeUpdate("insert into EMP values(2, 'Alex Debouir')");
59+
out.println("Two records are inserted.");
60+
61+
// Update a record on EMP table.
62+
statement.executeUpdate("update EMP set EMPLOYEENAME='Alex Deborie'"
63+
+ " where EMPLOYEEID=2");
64+
out.println("One record is updated.");
65+
66+
// Verify the table EMP
67+
ResultSet resultSet = statement.executeQuery("select * from EMP");
68+
out.println("\nNew table EMP contains:");
69+
out.println("EMPLOYEEID" + " " + "EMPLOYEENAME");
70+
out.println("--------------------------");
71+
while (resultSet.next()) {
72+
out.println(resultSet.getInt(1) + " " + resultSet.getString(2));
73+
}
74+
out.println("\nSuccessfully tested a connection to ATP using UCP");
75+
}
76+
catch (Exception e) {
77+
response.setStatus(500);
78+
response.setHeader("Exception", e.toString());
79+
out.print("\n Web Request failed");
80+
out.print("\n "+e.toString());
81+
e.printStackTrace();
82+
}
83+
finally {
84+
// Clean-up after everything
85+
try (Statement statement = conn.createStatement()) {
86+
statement.execute("drop table EMP");
87+
conn.close();
88+
}
89+
catch (SQLException e) {
90+
System.out.println("UCPServlet - "
91+
+ "doSQLWork()- SQLException occurred : " + e.getMessage());
92+
}
93+
}
94+
}
95+
96+
/* Get the appropriate datasource */
97+
private PoolDataSource getPoolInstance() throws NamingException {
98+
Context ctx = new InitialContext();
99+
100+
// Look up a data source
101+
javax.sql.DataSource ds
102+
= (javax.sql.DataSource) ctx.lookup ("orclatp_ds");
103+
PoolDataSource pds=(PoolDataSource)ds;
104+
105+
return pds;
106+
}
107+
108+
public void destroy() {
109+
try {
110+
111+
UniversalConnectionPoolManagerImpl.getUniversalConnectionPoolManager()
112+
.destroyConnectionPool(getPoolInstance().getConnectionPoolName());
113+
System.out.println("Pool Destroyed");
114+
} catch (Exception e) {
115+
System.out.println("destroy pool got Exception:");
116+
e.printStackTrace();
117+
}
118+
119+
}
120+
121+
/**
122+
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
123+
*/
124+
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
125+
126+
}
127+
128+
}

0 commit comments

Comments
 (0)