WildFly 18.0.1 JDBC Sürücüleri: Dahili hata (newValue boş)


17

WildFly (18.0.1) JDBC sürücülerini yapılandırmada bir sorun var .

Ne zaman açsam (Yapılandırma / Alt Sistemler / Veri Kaynakları ve Sürücüler / JDBC Sürücüleri) ,

Alırım:

Dahili hata (Ayrıntılar: newValue boş).

Hata Resmi 1:

Hata Resmi 2:

Herhangi bir yardım çok takdir edilecektir!


Sunucu günlüklerinde herhangi bir şey var mı (normalde Wildfly kurulumunuzun altında bağımsız / log / server.log dosyasında)?
stdunbar

Günlük dosyalarında bir sorun olduğunu belirten hiçbir şey yoktur. Ayrıca günlük dosyasında hata aldıktan sonra hiçbir şey değişmez.
ayou392

Aynı problemim var ve neden bilmiyorum. 18.0.1_Final ve 16.0.0_Final sürümünü yükledim, ancak aynı sorun. Zaten bir çözüm buldunuz mu?
Paigeola

Yanıtlar:


3

Sorununuzu tamamen yeniden oluşturabilirim. Wildfly konsolunu uzun zamandır kullanmadım ama bu benim için bir hata gibi görünüyor. Ancak, kolayca tekrarlanabilir ve yazılabilir olma avantajına sahip başka bir yol daha vardır.

jboss-cliWildfly bin dizininden çalıştırırsanız , bir komut dosyasıyla bir JDBC sürücüsü ve JEE veri kaynağı ekleyebilirsiniz. Betiğim şöyle görünüyor:

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

Bu komut dosyası, sunucu çalışmadan çalıştırılmalıdır. Sunucu kaldırmak ardından çalışırken çalıştırmak isterseniz embed-server, batchve run-batchsatırları. Temel olarak bu, bu durumda bir PostgreSQL sürücüsü olan bir modül oluşturarak başlar. Daha sonra bir JDBC sürücüsü ve son olarak bir DataSource ekler. İle çalıştırılabilir:

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

Yukarıdakileri adlı bir dosyaya kaydettiğinizi varsayarsak the-file-name.cli. Yine, binbunu komut satırında çalıştırmak için Wildfly dizininin yolunuzda olması gerekir.


Benim için çalıştı, teşekkürler!
Paigeola

9

Bu bir yabani sinek / jboss sorunu değil. Hata Hal Yönetim konsolundadır (sürüm 3.2.1). HAL konsolu sürümünü 3.2.4 olarak değiştirerek bu hatayı düzeltirim.

  1. İndirme sürümü:
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. Jar dosyasını wildfly dizinine kopyalayın
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
  1. Module.xml dosyasını düzenleyin
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
  1. Module.xml dosyasındaki sürümü değiştirme
   <resources>
        <resource-root path="hal-console-3.2.4.Final-resources.jar"/>
    </resources>
  1. JBoss / Wildfly'ı yeniden başlat
sudo systemctl restart wildfly or sudo service wildfly restart

3
Github arşivi hedef klasörü içermiyor, sadece kaynak kodu içeriyor. Bu yüzden ya maven projesini inşa ediyoruz ya da başka bir yerden bir konsol kavanozu çıkarıyoruz, örneğin bir WildFly 19 beta.
T-Gergely

1
Adım la. - maven, cd uygulaması, mvn paketini yükleyin (sonra bekleyin, sonra kavanozu kopyalayın)
David O'Meara

Ben src derleme adım eklemeyi unuttum. Bunu cevabıma ekleyeceğim
Daniel Xavier Oliveira


1
Başka bir küçük şey: sunucuyu yeniden başlatmak yeterli değil, tarayıcı önbellek yenilemesini zorlamanız gerekiyor ^ _ ^ '
Giampaolo


0

Bu bağlantıyı how_to_setup_postgresql_datasource_with_wildfly kullanın.Bu sorununuzu farklı şekillerde çözecektir.

Yapılandırma dosyası sürümü (Tek yön)

Standalone.xml, sunucunun yapılandırma dosyasıdır. Yönetim konsolu bu dosyayı düzenlemek için kolay bir kullanıcı arayüzüdür.

JDBC sürücüsünü dağıtma

  • Bir dosya gezgini açın ve Wildfly kurulum dizininizdeki / modules / dizinine gidin .
  • / Org / postgresql / main / klasörleri oluşturun. Bu klasörün JDBC sürücüsünün hiyerarşi paketiyle eşleşmesi gerekir.
  • JDBC sürücüsünü, oluşturduğunuz 'ana' dizine kopyalayın. Bu dizinde bununla bir "module.xml" dosyası oluşturun

        <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>

Veri kaynağını oluşturma Veri - Wildfly kurulum dizininizdeki / standalone / configuration dizinine gidin. - Standalone.xml dosyasını açın (tek başına sunucu tarafından kullanılan varsayılan yapılandırma dosyasıdır) - Sağ tarafa gitmek için 'datasource' ifadesini arayın. - Öğede, hem PostgreSQL hem de

Wildfly'nin yeniden başlatılması gerekir ve yönetim konsolundaki bağlantıyı test ederek değişikliğinizi doğrulayabilirsiniz.

<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>

Başka bir yol Wildfly CLI kullanma (2 yollu)

Veri kaynağı eklemenin diğer bir yolu da konsol satırı arabirimini (CLI) kullanmaktır. Yine, süreç iki adıma ayrılır.

JDBC sürücüsünü dağıtma - Wildfly kurulum dizininizdeki / bin dizinine gidin. - Bu dizinde bir terminal açın ve çalıştırın

  ./jboss-cli.sh --connect controller=127.0.0.1 (or jboss-cli.bat if you are on Windows)
  • Modülü kurmak için bu komutu çalıştırın

    modül add --name = org.postgresql --resources = / tmp / postgresql-42.2.1.jar - bağımlılıklar = javax.api, javax.transaction.api

  • Veri kaynağını oluşturma Sürücü oluşturma bu komutla yapılır

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

  • Ve sonra, veri kaynağını eklemek için son komut

    veri kaynağı ekleme --jndi-name = java: jboss / datasources / StenusysDemoDS --name = StenusysDemoDS --connection-url = jdbc: postgresql: // localhost: 5432 / StenusysDemo --driver-name = postgres --user- name = postgres --password = admin

Yönetim konsolundaki bağlantıyı test ederek değişikliğinizi doğrulayabilirsiniz.


0

Aynı sorunu yaşadım, ancak yaptığım çözüm alfasayısal ve 1 alfasayısal olmayan karakter kullanarak bir konsol kullanıcısı oluşturmaktı.

  1. sunucuyu çalıştır wildfly phat \ bin \ standalone.bat
  2. wildfly phat \ bin \ add-user.bat
  3. bir if yönetici konsoluna basın
  4. kullanıcı adı: admin veya istediğiniz kullanıcı adınızı girin
  5. fo güncelleme yöneticisi kullanıcısına basın
  6. şifre: örneğin p @ ssword1 veya 1 afanumerik olmayan karakterli şifren
  7. repassword: kullandığınız aynı şifre
  8. giriş
  9. hayır ve gir

ve son olarak, krom gibi farklı bir web tarayıcısı kullanın

Kullanıcıyı 1 afanumerik olmayan karakterle şifre ile yapılandır

Kullanıcıyı 1 afanumerik olmayan karakterle şifreyle yapılandır


son adım web tarayıcısı geçmişini temizle
Esteban Vallejo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.