Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Zdravím,
již pár hodin se marně snažím zprovoznit MySQL databázi pomocí JDBC v JSF. Používám NetBeans, v okně Services mám funkční spojení, ve zdrojovém kódu JavaBeanu získávám datasource jako:

@Resource(name="jdbc/webdbtest")
private DataSource ds;

Resource v web.xml mám, dostávám chybovou hlášku, že tabulka neexistuje. Když v resource upravím name na libovolný String, nic se nezmění, chyba tedy bude někde tam. Jako server používám Glassfish.

Odpovědět 20.11.2013 14:05
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Silvinios
Redaktor
Avatar
Silvinios:

Jak vypadá web.xml? Nějak takhle?

<resource-ref>
        <description>MySQL Datasource</description>
        <res-ref-name>jdbc/webdbtest</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>

Jsi si jistý, že máš data source správně nastavený v Glassfish?

 
Nahoru Odpovědět 20.11.2013 18:52
Avatar
coells
Redaktor
Avatar
Odpovídá na David Čápka
coells:

Podle Stackoverflow bys měl použít "lookup" místo "name"

http://stackoverflow.com/…resourcename

 
Nahoru Odpovědět 20.11.2013 19:22
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Silvinios
David Čápka:

Ano, můj web.xml obsahuje toto:

<resource-ref>
        <res-ref-name>jdbc/WebDbTest</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

Čekal bych, že by to mělo fungovat i bez nastavení Glassfishe, který s DB teoreticky nesouvisí. Prakticky chápu, že spravuje spojení v poolu, mám v něm tento konfigurák:

<resources>
  <jdbc-resource enabled="true" jndi-name="jdbc/WebDbTest" object-type="user" pool-name="webdbtestPool">
    <description/>
  </jdbc-resource>
  <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="webdbtestPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    <property name="URL" value="jdbc:mysql://localhost:3306/webdb?zeroDateTimeBehavior=convertToNull"/>
    <property name="User" value="root"/>
    <property name="Password" value=""/>
  </jdbc-connection-pool>
</resources>

Ani mi nejde o konkrétní aplikaci, chci opravdu jen z nového JSF projektu udělat to, aby vypsal obsah nějaké tabulky z DB a nedaří se mi to.

Nahoru Odpovědět 20.11.2013 20:12
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na coells
David Čápka:

WOW, díky! :D Sice nevím proč je ve všech tutoriálech to name, ale lookup funguje.

Nahoru Odpovědět 20.11.2013 20:14
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Silvinios
Redaktor
Avatar
Odpovídá na David Čápka
Silvinios:

Tak mě napadlo, sdraco, nechystáš náhodou tutoriály na J2EE? :)

 
Nahoru Odpovědět 22.11.2013 17:36
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 22.11.2013 17:43
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.