Tôi đã giải quyết vấn đề một mình và rất vui mừng. Mặc dù bản thân tôi không nhận được sự trợ giúp, nhưng tôi hy vọng ai đó khác tham gia chuỗi này và có thể làm cho nó hoạt động!
Vì vậy, tôi có một ứng dụng Vaadin, đã được biên dịch thành tệp WAR. Tôi đã triển khai nó cho các máy chủ OpenShift theo các bước sau:
Triển khai ứng dụng web đã biên dịch sang OpenShift
- Mở OpenShift trong trình duyệt web của bạn. Đăng nhập vào Openshift. Điều hướng đến ứng dụng được đề cập.
- Lấy mã ssh của ứng dụng đó (nó phải ở bên phải màn hình), nằm ở bên phải của hộp mực. Sao chép mã đó bằng Command-C hoặc Ctrl-C.
- Mở Terminal và nhập
git clone ssh:\\xxxxxxxxxxxxxxxx...
- Nếu bạn đang sử dụng Mac, giống như tôi, nó nên tạo một thư mục dự án tại
Users/Username/Appname
. Bên trong thư mục đó, hãy xóa thư mục nguồn vàpom.xml
. Lấy tệp WAR đã biên dịch của bạn và sao chép nó vàowebapps
thư mục. - Đi tới Nhà ga. Nhập
cd Appname
, và sau đógit add .
,git commit -m "Deployment"
và cuối cùng làgit push
. - Ứng dụng của bạn bây giờ sẽ hoạt động đầy đủ tại
www.openshiftappname-domainname.rhcloud.com/warfilename
Truy cập MySQL
- Cài đặt các hộp mực cho MySQL và phpMyAdmin. Điều này sẽ có sẵn thông qua
Add Cartidge
tạiopenshift.com
của bạn trung tâm ứng dụng. - Lưu ý
username
của bạn vàpassword
vào cơ sở dữ liệu MySQL mà OpenShift tự động tạo cho bạn. Truy cậpwww.openshiftappname-domainname.rhcloud.com/phpmyadmin
, nhập thông tin xác thực. - Bên trong phpMyAdmin phải có địa chỉ IP của máy chủ; nó trông giống như
127.x.y.z:3306
.x, y, and z
có thể là các số có một chữ số đến ba chữ số. - Tạo nhanh một
database
mới đặt tên bất cứ điều gì bạn muốn. Tôi sẽ đặt tên cho nó làtest
và do đó tạo ra một bảng mới trong đó có tên làtesttable
. - Vì vậy, hãy nhớ ứng dụng WAR đã triển khai của bạn? Chà, nếu bạn đang sử dụng MySQL, tôi cá là bạn đã đưa nó vào ứng dụng của mình. Các bước cơ bản để thiết lập kết nối với MySQL là như vậy.
Mã Java
Đi tới dự án IDE đang mở mà bạn đã biên dịch thành tệp WAR của mình. Đi tới pom.xml bên trong dự án của bạn nếu đó là dự án Maven và thêm phần phụ thuộc:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
- Sau đó, sử dụng mã sau.
String s = "jdbc:mysql://" + host + ":" + port + "/" + name"
, trong đó máy chủ lưu trữ là server IP address
, cổng là 3306
và tên là database name
, trong trường hợp của tôi, test
.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
Connection con = DriverManager.getConnection(s, username, password);
}
catch (SQLException e) {
e.printStackTrace();
}
Bây giờ if (con == null)
nó đã không hoạt động. Và nếu nó không phải là null
, nó đã làm.
Để kiểm tra, bạn nên biên dịch lại tệp WAR của mình (sau khi thực hiện một số cách để kiểm tra trực quan nó). Nếu bạn cần trợ giúp thêm, vui lòng để lại bình luận. Nó sẽ hoạt động khi bạn biên dịch tệp WAR và thực hiện lại các bước 4-6
trong phần đầu tiên:Deployment of compiled webapp to OpenShift
. Cảm ơn!