tôi sẽ tư vấn để tận dụng lợi thế từ thực tế là Derby có thể thực hiện cả hai như nhúng máy chủ (tức là chạy trong JVM máy chủ ứng dụng) và máy chủ mạng (tức là phục vụ yêu cầu khách hàng giải quyết để mặc định cổng 1527 từ máy chủ cục bộ). Do đó, bạn được hưởng lợi từ việc tăng hiệu suất của chế độ được nhúng, nhưng vẫn cho phép truy cập từ ví dụ: "ij" để quản lý dữ liệu trong khi máy chủ đang chạy và từ các phiên bản máy chủ khác qua TCP/IP với các cài đặt bảo mật phù hợp. Trong cấu hình đó, Derby khởi động và dừng cùng với máy chủ ứng dụng. Không cần lệnh bổ sung hoặc mã khởi động máy chủ rõ ràng để khởi chạy trận derby.
Cấu hình được mô tả dưới đây cho Glassfish 4 và derby/javaDB 10.10, nhưng sẽ hoạt động tương tự trong các máy chủ và phiên bản khác. Bạn thực sự phải điều chỉnh tất cả các đường dẫn bên dưới để phù hợp với cài đặt của riêng bạn.
.1. Tạo các lớp derby có sẵn cho trình nạp lớp phổ biến của máy chủ bằng cách thêm derby.jar, derbyclient.jar, derbynet.jar, derbytools.jar. Sao chép ví dụ của jar vào lib/ext JVM của cá thể máy chủ của bạn, ví dụ: vào C:\java\J2EESDK7U1\glassfish\domains\domain1\lib\ext
.2. Sử dụng GUI quản trị glassfish, thêm hai thuộc tính sau vào tab Configurations> server-config> JVM settings> tab tùy chọn JVM: -Dderby.drda.startNetworkServer=true
và -Dderby.system.home=C:/java/J2EESDK7U1/glassfish/databases
. Việc đầu tiên yêu cầu Derby bắt đầu nghe trong chế độ mạng khi công cụ nhúng được tải, thứ hai cung cấp đường dẫn thiết yếu cho cơ sở dữ liệu derby của bạn và tệp derby.properties tùy chọn (ví dụ: cài đặt bảo mật của bạn trong PROD)
.3. sắp xếp cho máy chủ tải lớp org.apache.derby.jdbc.EmbeddedDriver
khi khởi động.Một cách để đạt được điều này là ví dụ để chú thích một EJB với @Startup
, và sau đó xác định một @PostConstruct
phương pháp chú thích trong EJB, giống nhau:
@PostConstruct
private void startup() {
try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
logger.info("Started DERBY in embedded+network mode");
} catch (ClassNotFoundException e) {
... your error handling
}
}
cho 6 lời khuyên khởi động khác, xem http://blog.eisele.net/2010/12/seven-ways-to-get-things-started-java.html
Đây là những gì tôi đã có kế hoạch làm vì không có gì khác là có thể. Cảm ơn vì sự trả lời. –
Bạn có thể cung cấp tập lệnh mẫu không? – NonlinearFruit