Szukam wskazowek w jakis sposob uzywajac javy polaczyc sie z serwerem jBoss. Dokladniej rzecz ujmujac uzywajac konsolowej aplikacji .java chcialbym podlaczyc sie do jBoosa i w pobrac jakies dane. Za wszelakie wskazowki z gory dziekuje.
Ale jakie dane ? Możesz się podłączyć jak do zwykłej strony przez URL i coś tam sobie pobrać ;p
Trzy drogi:
- JNDI - wygenerowanie stubów z ziarna EJB i komunikacja za pomocą wywołań zdalnych
- WebServices - wywołanie ws z javy. Generowanie stuba i wołanie serwera.
- Menager http - czyli zarządzanie tak jak to robisz z przeglądarki www za pomocą wołania URLi z parametrami.
rnd napisał(a)
Ale jakie dane ? Możesz się podłączyć jak do zwykłej strony przez URL i coś tam sobie pobrać ;p
Dla przykladu dane ktore w konsoli JMX mamy pod adresem http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DServerInfo chcialbym sobie wydrukowac w konsoli.
Korzystając z okazji chciałbym zapytać o połączenie JNDI, ponieważ od jakiegoś czasu nie mogę sobie z tym poradzić... Dokładniej chodzi o połączenie z bazą danych poprzez JNDI. Czy mógłby ktoś krok po kroku wytłumaczyć co trzeba zrobić, aby takie połączenie uzyskać (np. z poziomu Servlet'a)?
W folderze jboss\docs\examples\jca masz przykładowe pliki konfigurujące połączenie z bazą danych, np. postgres-ds.xml Tworzysz taki plik w folderze deploy serwera, w środku wpisujesz mniej więcej coś takiego:
<datasources>
<local-tx-datasource>
<jndi-name>nazwa</jndi-name>
<connection-url>adres bazy</connection-url>
<driver-class>sterownik</driver-class>
<user-name>login</user-name>
<password>pass</password>
<new-connection-sql>select 1</new-connection-sql>
<!-- sql to call on an existing pooled connection when it is obtained from pool. Can be anything, select 1 is valid for PostgreSQL -->
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>PostgreSQL 8.0</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
*.jar z odpowiednim sterownikiem JDBC wrzucasz do folderu lib serwera.
W servlecie piszesz:
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:nazwa_z_pliku_xml");
Connection conn = ds.getConnection();
Dzięki za szybką odpowiedź. Zrobiłem jak napisałeś i wszystko działa. :-)