Trình điều khiển JDBC WildFly 18.0.1: Lỗi nội bộ (newValue là null)


17

Tôi gặp sự cố khi định cấu hình trình điều khiển JDBC trong WildFly (18.0.1) .

Bất cứ khi nào tôi mở (Cấu hình / Hệ thống con / Nguồn dữ liệu & Trình điều khiển / Trình điều khiển JDBC) ,

Tôi có:

Lỗi nội bộ (Chi tiết: newValue là null).

Lỗi hình ảnh 1:

Lỗi hình ảnh 2:

Bất kỳ trợ giúp sẽ được rất nhiều đánh giá cao!


Có bất cứ điều gì trong nhật ký máy chủ (thông thường trong độc lập / log / server.log trong cài đặt Wildfly của bạn) không?
stdunbar

Không có gì trong các tệp nhật ký chỉ ra vấn đề. Ngoài ra không có gì thay đổi sau khi tôi nhận được lỗi trong tệp nhật ký.
ayou392

Tôi có cùng một vấn đề và không biết tại sao. Tôi đã cài đặt phiên bản 18.0.1_Final và 16.0.0_Final, nhưng cùng một vấn đề. Bạn đã tìm thấy một giải pháp?
Paigeola

Câu trả lời:


3

Tôi có thể tái tạo vấn đề của bạn hoàn toàn. Tôi đã không sử dụng bảng điều khiển Wildfly trong một thời gian khá lâu nhưng điều này có vẻ như là một lỗi đối với tôi. Tuy nhiên, có một cách khác có lợi thế là dễ lặp lại và có thể viết được.

Nếu bạn chạy jboss-clitừ thư mục bin Wildfly, bạn có thể thêm trình điều khiển JDBC và nguồn dữ liệu JEE với một tập lệnh. Kịch bản của tôi trông như:

embed-server --server-config=standalone.xml --std-out=echo

batch

module add --name=org.postgres --resources=${user.home}/Downloads/postgresql-42.2.8.jar --dependencies=javax.api,javax.transaction.api

/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)


/subsystem=datasources/data-source=myDS/:add(connection-url=jdbc:postgresql://localhost:5432/dbname,driver-name=postgres,jndi-name=java:/jdbc/myDS,background-validation=true,background-validation-millis=60000,blocking-timeout-wait-millis=2000,flush-strategy=Gracefully,idle-timeout-minutes=5,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=the-password,query-timeout=10,track-statements=true,tracking=true,user-name=the-user,validate-on-match=false)

run-batch

Kịch bản này nên được chạy mà không cần máy chủ chạy. Nếu bạn muốn chạy nó trong khi máy chủ đang chạy sau đó loại bỏ embed-server, batchrun-batchdòng. Về cơ bản, điều này bắt đầu bằng cách tạo ra một mô-đun, trong trường hợp này là trình điều khiển PostgreSQL. Sau đó, nó thêm trình điều khiển JDBC và cuối cùng là DataSource. Nó có thể được chạy với:

jboss-cli.sh --file=the-file-name.cli

giả sử rằng bạn đã lưu ở trên vào một tệp có tên the-file-name.cli. Một lần nữa, binthư mục cho Wildfly cần phải nằm trên đường dẫn của bạn để chạy cái này trên dòng lệnh.


Làm việc cho tôi, cảm ơn!
Paigeola

9

Đây không phải là một vấn đề wildfly / jboss. Lỗi này nằm trong bảng điều khiển Hal Management (phiên bản 3.2.1). Tôi sửa lỗi này, thay đổi phiên bản giao diện điều khiển HAL thành 3.2.4.

  1. Tải về phát hành:
wget https://repository.jboss.org/nexus/content/repositories/ea/org/jboss/hal/hal-console/3.2.4.Final/hal-console-3.2.4.Final-resources.jar
  1. Sao chép tệp jar vào thư mục wildfly
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
  1. Chỉnh sửa tệp module.xml
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
  1. Thay đổi phiên bản trong tệp module.xml
   <resources>
        <resource-root path="hal-console-3.2.4.Final-resources.jar"/>
    </resources>
  1. Khởi động lại jboss / wildfly
sudo systemctl restart wildfly or sudo service wildfly restart

3
Kho lưu trữ github dường như không chứa thư mục đích, chỉ có mã nguồn. Vì vậy, chúng tôi hoặc xây dựng dự án maven đó hoặc trích xuất một giao diện điều khiển từ một nơi khác, ví dụ như bản WildFly 19 beta.
T-Gergely

1
Bước 1a. - cài đặt maven, ứng dụng cd, gói mvn (sau đó chờ, sau đó sao chép jar)
David O'Meara

Tôi quên bao gồm các bước để biên dịch src. Tôi sẽ thêm điều này vào câu trả lời của mình
Daniel Xavier Oliveira


1
Một điều nhỏ nữa: khởi động lại máy chủ là không đủ, bạn cần buộc làm mới bộ nhớ cache của trình duyệt ^ _ ^ '
Giampaolo


0

Sử dụng liên kết này, how_to_setup_postgresql_datasource_with_wildfly . Điều này sẽ giải quyết vấn đề của bạn theo những cách khác.

Phiên bản tập tin cấu hình (Một chiều)

Standalone.xml là tệp cấu hình cho máy chủ. Bảng điều khiển quản lý chỉ là một giao diện người dùng thân thiện để chỉnh sửa tệp này.

Triển khai trình điều khiển JDBC

  • Mở một trình thám hiểm tệp và đi đến thư mục / mô-đun / trong thư mục cài đặt Wildfly của bạn .
  • Tạo thư mục / org / postgresql / main /. Các thư mục này cần khớp với gói phân cấp của trình điều khiển JDBC.
  • Sao chép trình điều khiển JDBC vào thư mục 'chính' mà bạn đã tạo. Trong thư mục này, hãy tạo một tệp "module.xml" bằng cái này

        <resources>
            <resource-root path="postgresql-42.2.1.jar"/>
            <!-- Make sure this matches the name of the JAR you are installing -->
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
        </dependencies>
    </module>

Tạo nguồn dữ liệu - Chuyển đến thư mục / độc lập / cấu hình trong thư mục cài đặt Wildfly của bạn. - Mở tệp độc lập (đó là tệp cấu hình mặc định được sử dụng bởi máy chủ độc lập) - Tìm kiếm 'nguồn dữ liệu' để đi đến phần bên phải. - Trong phần tử, bạn cần thêm cả cho PostgreSQL và

Cần phải khởi động lại Wildfly và bạn có thể xác thực thay đổi của mình bằng cách kiểm tra kết nối trong bảng điều khiển quản lý.

<drivers>
    <driver name="postgresql" module="org.postgresql">
        <!-- for xa datasource -->
        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
        <!-- for non-xa datasource -->
        <driver-class>org.postgresql.Driver</driver-class>
    </driver>
</drivers>
<datasources>
    <datasource jndi-name="java:jboss/datasources/StemoDS" pool-name="StemoDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:postgresql://localhost:5432/StemoDS</connection-url>
        <driver>postgresql</driver>
        <security>
            <user-name>postgres</user-name>
            <password>admin</password>
        </security>
    </datasource>
</datasources>

Một cách khác Sử dụng Wildfly CLI (2 cách)

Cách khác để thêm nguồn dữ liệu là sử dụng giao diện dòng bàn điều khiển (CLI). Một lần nữa, quá trình được chia thành hai bước.

Triển khai trình điều khiển JDBC - Chuyển đến thư mục / bin trong thư mục cài đặt Wildfly của bạn. - Mở một thiết bị đầu cuối trên thư mục này và chạy

  ./jboss-cli.sh --connect controller=127.0.0.1 (or jboss-cli.bat if you are on Windows)
  • Để cài đặt mô-đun, chạy lệnh này

    mô-đun thêm --name = org.postgresql --resours = / tmp / postgresql-42.2.1.jar --dependencies = javax.api, javax.transaction.api

  • Tạo nguồn dữ liệu Việc tạo trình điều khiển được thực hiện bằng lệnh này

    /subystem=datasource/jdbc-do=postgres:add( ấn-name =

  • Và sau đó, lệnh cuối cùng để thêm nguồn dữ liệu

    thêm nguồn dữ liệu - tên = postgres --password = quản trị viên

Bạn có thể xác thực thay đổi của mình bằng cách kiểm tra kết nối trong bảng điều khiển quản lý.


0

Tôi có cùng một vấn đề, nhưng giải pháp mà tôi đã làm là tạo một người dùng bàn điều khiển bằng mật khẩu bằng cách sử dụng chữ và số và 1 ký tự không chữ và số.

  1. chạy máy chủ wildfly phat \ bin \ standalone.bat
  2. ruồi hoang phat \ bin \ add-user.bat
  3. nhấn nếu bảng điều khiển quản lý
  4. tên người dùng: quản trị viên hoặc nhập tên người dùng của bạn mà bạn muốn
  5. nhấn một cập nhật cho người dùng quản trị
  6. mật khẩu: ví dụ p @ ssword1 hoặc mật khẩu của bạn với 1 ký tự không phải ngôn ngữ
  7. repassword: cùng một mật khẩu bạn đã sử dụng
  8. đi vào
  9. không và nhập

và cuối cùng sử dụng trình duyệt web khác nhau như chrome

Cấu hình người dùng với mật khẩu không có 1 ký tự không phải ngôn ngữ

Cấu hình người dùng với mật khẩu với 1 ký tự không phải là ngôn ngữ


bước cuối cùng xóa lịch sử trình duyệt web
Esteban Vallejo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.