Thứ Ba, 9 tháng 8, 2016

Sử dụng NetBeans 7.2.1 và Netbeans 7.3.1 với JBoss 6.1.0 Final và Jboss 7.1.1 Final

KHẮC PHỤC VIỆC PORT BỊ CHIẾM KHÔNG THỂ KHỞI ĐỘNG ĐƯỢC CÁC LOẠI SERVER J2EE/JAVAEE

Sử dụng NetBeans 7.2.1 và Netbeans 7.3.1 với JBoss 6.1.0 Final và Jboss 7.1.1 Final

 

Mục đích: Bài viết này hướng tới việc xử lý vấn đề add Server JBoss 6.1.0 Final hoạt động trong NetBeans 7.2.1. Ngoài ra, bài viết đưa ra nguyên nhân khắc phục không thể phát sinh code tự động cho Entity Class và phát sinh Datasource trong Netbeans 7.3.1. Cuối cùng, bài viết hướng dẫn cách cấu hình Datasource và deploy ứng dụng trên server Jboss 7.1.1 Final kết hợp với Netbeans 7.3.1

 

Sử dụng NetBeans 7.2.1 và Netbeans 7.3.1 với JBoss 6.1.0 Final và Jboss 7.1.1 Final

 

Mục đích: Bài viết này hướng tới việc xử lý vấn đề add Server JBoss 6.1.0 Final hoạt động trong NetBeans 7.2.1. Ngoài ra, bài viết đưa ra nguyên nhân khắc phục không thể phát sinh code tự động cho Entity Class và phát sinh Datasource trong Netbeans 7.3.1. Cuối cùng, bài viết hướng dẫn cách cấu hình Datasource và deploy ứng dụng trên server Jboss 7.1.1 Final kết hợp với Netbeans 7.3.1

 

Netbeans 7.2.1 với Jboss 6.1.0 Final

-          Jboss AS 6.1.0 Final được download tại đường dẫn http://www.jboss.org/jbossas/downloads/

  • Lỗi – Problem

o   Sau khi chúng ta add Jboss 6.1.1 Final vào trong Netbeans 7.2.1, thực hiện start sever, chúng ta sẽ gặp lỗi như hình bên dưới dẫn đến không thể khởi động được

o   Tình trạng này sẽ dẫn đến Netbeans cứ như thế không thể nào khởi động server được

  • Cách khắc phục – Solution

o   Bật Task Manager, chọn tab Process, tìm java.exe, nhấn End Process

o   Tắt Netbeans đang chạy

o   Chúng ta mở Window Explorer, mở thư mục JBoss, vào thư mục bin

o   Dùng trình editor bất kỳ mở tập tin run.bat

o   Tìm kiếm từ JAVA_OPTS, chúng ta sẽ thấy được chuỗi như sau

set JAVA_OPTS=-Dprogram.name=%PROGNAME% -Dlogging.configuration=file:%DIRNAME%logging.properties %JAVA_OPTS%

o   Thực hiện thay thế giá trị %DIRNAME% trong chuỗi trên với “đường dẫn đến thư mục bin của thự mục JBoss, và /logging.properties”

o   Ví dụ: chúng tôi cài đặt JBoss tại thư mục C:/Programming/Jboss6.1.0 thì giá trị của chuỗi được sửa chữa như sau

set JAVA_OPTS=-Dprogram.name=%PROGNAME% -Dlogging.configuration=file:
“C:\Programming\jboss6.1.0\bin\logging.properties” %JAVA_OPTS%

o   Thực hiện khởi động lại Jboss, nó sẽ start bình thường

§  Trong lúc khởi động có lỗi warning là không sao cả

o   Sau khi  khởi động xong, chúng ta thực hiện mở browser và gõ địa chỉ testing là http://localhost:8080, nếu chúng ta nhận được màn hình bên dưới là đúng

  • Lưu ý:
    • Khi cài đặt JBoss nên đặt tại thư mục gốc của một ổ đĩa hay tối đa hay lui vào một cấp thư mục.
    • Tuyệt đối không đặt tên thư mục có khoảng trắng. Nếu đặt tên thư mục có khoảng trắng thì cho dù JBoss khởi động được khi sử dụng trình duyệt browser, kết quả sẽ là trang trắng

 

Netbeans 7.3.1 với Jboss 6.1.0 Final

Chúng ta không cần chỉnh sửa gì bản download trực tiếp từ Jboss website về (khác so với Netbeans 7.2.1 đã nêu trên), chỉ cần add vào Netbeans 7.3.1 và khởi động server, không có bất cứ lỗi gì phát sinh

 

Tại sao Netbeans 7.3.1 không thể nối kết với datasource được cấu hình bằng tay để sinh ra tập tin *-ds.xml và không thể phát sinh entity class của EJB3 một cách tự động?

  • Lỗi - problem
    • Netbeans 7.3.1 không thế kết nối datasource từ bên ngoài khi chúng cấu hình tập tin *-ds.xml bằng tay
    • Netbeans không hỗ trợ cho datasource của DB khác ngoài Derby và Glassfish khi ta cấu hình kết nối trong Databases của tab Services trong Netbeans 7.3.1
    • Netbeans 7.3.1 không hỗ trợ phát sinh code cho Entity Class của EJB 3 khi chúng ta làm project có sử dụng EJB 3
    • Netbeans 7.3.1 không hỗ trợ add datasource trong session bean trong dạng inject resource
  • Cách khắc phục – Solution
    • Trong đặc tả và yêu cầu của oracle sun là jdk 7 update25 là bảng thích hợp nhất dành cho Netbeans 7.3.1
    • Tuy nhiên, bảng này sẽ gây ra tất cả lỗi đã nêu trên
    • Để khắc phục, cách duy nhất đó là
      • Uninstall JDK7 update 45 trở về trước
      • Uninstall luôn kể cả JRE 7 update 45 trở về trước
      • Khởi động lại máy tính
      • Tải bảng JDK 7 Update 45 và cài đặt vào trong máy, tất cả các lỗi nêu trên sẽ được khắc phục

 

Netbeans 7.3.1 với Jboss 7.1.1 Final, cách deploy và cấu hình datasource, deploy datasource trong Jboss 7.1.1 Final

  • Vấn đề – Problem
    • Cấu trúc của tổ chức Jboss 7.1.1 Final sẽ cấu trúc khác hoàn toàn Jboss 6 trở về trước
    • Việc cấu hình datasource động sẽ khác hoàn toàn so với Jboss 6 trở về trước, khi áp dụng tập tin *-ds.xml sẽ không thể deploy trên Jboss 7.1.1 Final, cố tình deploy sẽ gây ra lỗi
  • Cách khắc phục – Solution
    • Việc deploy ứng dụng trên Jboss 7.1.1 Final sẽ không còn là thư mục JBOSS_HOME/server/default/deploy như Jboss 6 trở về trước mà được deploy tại thư mục JBOSS_HOME/standalone/deployments/
    • Từ Jboss7.1.1, khái niệm datasource không còn hỗ trợ nữa. Do vậy, muốn cấu hình datasource động, chúng ta phải làm các bước sau
      • Vào trong thư mục cài đặt Jboss 7.1.1 Final, mở thư mục modules
      • Tạo tuần tự thư mục như sau: tạo thư mục com
      • Vào trong com, tạo thư mục microsoft
      • Vào thư mục microsoft, tạo thư mục sqlserver
      • Vào thư mục sqlserver, tạo thư mục main
      • Chép tập tin sqljdbc4.jar hay sqljdbc.jar tùy theo loại sqlserver đang sử dụng
      • Tạo tập tin module với nội dung như hình bên dưới

 

      • Giá trị trong namespace xmlns là set mặc định giá trị hằng
      • Giá trị name chính là cấu trúc thư mục chúng ta tạo ở phần trước tính đến thư mục main và viết như dạng package của java khi truy xuất
      • Resource-root chỉ đến đường dẫn driver và ghi như trên hình là thư mục hiện hành trong main tương ứng phần name đã định nghĩa ở trên
      • Các dependencies là các hỗ trợ api cho kết nối dữ liệu
      • Cấu trúc thư mục chúng ta có được như sau

    • Tiếp theo vào trong thư mục standalone\configuration\ trong thư mục cài đặt Jboss, mở tập tin standalone.xml

      • Tìm từ khóa đến phần datasources, đang được cấu hình cho ExampleDS

      • Chúng ta thực hiện bổ sung driver chúng ta cần với cặp datasouce và driver với các connection url, authentication và loại kết nối, cụ thể như sau

      • Chúng ta cấu hình datasouce với tên truy cập là java:SQLServer2K8 thông qua giá trị jndi-name, tất cả phần còn lại tương tự như datasouce của jboss 6 trở về trước
      • Phần driver chính là phần mapping với module khai báo trong phần module đã làm ở phần trên
    • Chúng ta thực hiện stop và start lại server, chúng ta sẽ nhận được datasource có sẵn trên server và có thể dùng phát sinh code trực tiếp trong netbeans để phát sinh datasource và entity class

    • Cấu trúc thư mục modules sau khi deploy

Nội dung của các vấn đề và cách giải quyết trong chủ đề này đã nêu lên một số vấn đề thường gặp khi triển khai chương trình của mô hình J2EE/JavaEE trên các tool mới cụ thể là Netbeans 7.2.1 và 7.3.1 với các server Jboss mới 6 và 7. Rất hy vọng các nội dung chúng tôi đề xuất sẽ giúp ích quí vị trong thực tế triển khai trên các server hỗ trợ J2EE/JavaEE

 

Hẹn gặp lại quí vị ở các chủ đề khác

 

Không có nhận xét nào:

Đăng nhận xét