Вернуться   Форум программистов > Форум Программирование > Форум Java

Java

Программирование на Java

Ответ
 
Старый 06.06.2003, 02:01   #1
oberon
Местный
 
Регистрация: 26.10.2002
Сообщений: 134
oberon пока не определено
По умолчанию Переход со встроенной бд на mysql

Помогите перейти. Вот что я сделал:
1. Перекопировал mysql-service.xml (стандартный в боссе есть), только в нем изменил непонятный //dell:3306 на //localhost:3306
2. В login-config.xml добавил:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    <application-policy name = 'MySqlDbRealm'>
       <authentication>
          <login-module code = 'org.jboss.resource.security.ConfiguredIdentityLoginModule' flag = 'required'>
             <module-option name = 'principal'>myp</module-option>
             <module-option name = 'userName'>myu</module-option>
             <module-option name = 'password'>myw</module-option>
             <module-option name = 'managedConnectionFactoryName'>jboss.jca:service=LocalTxCM,name=MySqlDS</module-option>
          </login-module>
       </authentication>
    </application-policy>
 
 
3. Скачал mysql-connector-java-3.1.0-alpha-bin.jar и тыкал его и в default/lib и в общий /lib.
4. В своем приложении написал в jbosscmp-jdbc:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<jbosscmp-jdbc>
   <defaults>
      <datasource>java:/MySqlDS</datasource>
      <datasource-mapping>mySQL</datasource-mapping>
      <create-table>true</create-table>
      <remove-table>true</remove-table>
      <pk-constraint>true</pk-constraint>
      <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
   </defaults>
 
</jbosscmp-jdbc>
 
Не помогает - ругается:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
Хотя этот класс в том яре есть! Помогите, пожалуйста.
oberon вне форума  
Старый 06.06.2003, 03:46   #2
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

закинь в deploy dir драйвер. если уж там не заработает, то тогда с настройками глюки и будем дальше разбираться.
mr_dronski вне форума  
Старый 06.06.2003, 14:45   #3
oberon
Местный
 
Регистрация: 26.10.2002
Сообщений: 134
oberon пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

Заработало.
Но теперь хочется разобраться как это я сделал, потому что мало что понял, делал по аналогии и наитию.
1. Что, все драйвера, либы класть прямо в deploy - это нормально?
2. Начнем пожалуй с самого главного - в боссе все построено на MBean. Объясните пожалуйста внятно что это такое? Все доки по этому поводу перерыл, сведений куча, но вот целостного понимания нет. Думаю без этого дальше разбираться рановато.
oberon вне форума  
Старый 06.06.2003, 16:51   #4
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

http://java.sun.com/jmx

сильно не зачитывайся, а то потеряешься

в 2 словах - что-то наподобие сессионных бинов, но для системного мониторинга, управления и т.д.

например - у вас есть распределенный кеш. в кластере. вы хотите посмотреть, как он поживает - сколько хитов, сколько миссов. для этого не нужно писать свой клиент мониторинга. достаточно вывести все доступные операции в интерфейсе МБина и любая программа, работающая с JMX может теперь это делать. идем дальше - захотели изменить размер кеша? раньше вы могли бы хранить этот размер в файле пропертис. ага, значит нужен чаще всего рестарт, чтобы инициализировать кеш и прочитать их. с ЖМХ это не нужно. вы добираетесь до бина любым удобным способом (в ЖБоссе - модифицированная версия веб-консоли для ЖМХ), находите МБина вашего кеша и меняете ему параметр cacheSize.

именно поэтому в ЖБоссе можно все делать 'на лету'.

теперь про драйвер. я наверное, подозреваю, в чем дело. открываем дескриптор датасорса. сразу под узлом <server> мы видим <codebase>. можем и не видеть. не так важно.

значит вот, скажем, для SAPDB и драйвера, лежащего в деплой дир он будет такой:
Код
1
2
3
4
5
6
 
<server>
  <classpath codebase='.' archives='sapdbc.jar'/>
...
</server>
 
если мы его закинем в дефолт/либ, то нужно указать путь к нему:
Код
1
2
3
4
5
6
 
<server>
  <classpath codebase='../lib' archives='sapdbc.jar'/>
...
</server>
 
так должно работать. тут уже не так важно, где он лежит. главное, что указано, что деплоить драйвер нужно ДО того, как деплоить сам датасорс.
mr_dronski вне форума  
Старый 06.06.2003, 16:53   #5
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

если заинтересуешься вдруг в будущем ЖМХ, то на жбосс.ру мелькала книжка 'JMX in Action'.

есть еще книжка по ЖМХ от самого ЖБосса и Marc Fleury, но она довольно сложно написана и не рекомендуется как первая.
mr_dronski вне форума  
Старый 07.06.2003, 03:02   #6
oberon
Местный
 
Регистрация: 26.10.2002
Сообщений: 134
oberon пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

Бог с ним пока, с JMX, вернемся допустим к login-config:
- что такое service=LocalTxCM, часто упоминается?
- <login-module code = 'org.jboss.resource.security ConfiguredIdentityLoginModule' это что еще?
Или лучше начать с mysql-service - но там еще больше 'интересного'.
Ну про все эти ConnectionPool, ManagedConnection и т.д. я почитал вообще, хотя синтаксис..в жизни не повторю! Но вот service=CachedConnectionManager, JaasSecurityManager, service=RARDeployer в доках чего то вообще не освещены толком, если вообще есть.
oberon вне форума  
Старый 07.06.2003, 03:19   #7
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

мы должны определиться сначала, какая из них проблема и что мы решаем. XXXSecurityManager - это все классы архитектуры JBossSX - стр.291

они нужны, если нужны продвинутые фичи авторизации - типа даже подключить сканер пальца в сервер - мона

по умолчанию этот раздел вообще закомментирован. в ЖБоссе есть более простой модуль, на котором можно поучиться - XMLLoginConfig. ну а дальше можно и в базу, и в LDAP, и куда еще.

так с какой проблемой мы сейчас разбираемся? база забегала?
mr_dronski вне форума  
Старый 07.06.2003, 03:25   #8
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

service=LocalTxCM

это локальный транзакционный менеджер коннектов. штука оптимизированная для одной базы рядышком с сервером, и вообще системная вещь, тебе о ней беспокоиться не нужно. просто пиши, как в примере дескриптора.

для информации - есть другие менеджеры - например, распределенных транзакций, поддерживающий 2PC Protocol (2-Phase Commit). еще называется ХА (англ.) архитектура. случаи там отдельные, это узнаешь, если столкнешься с проблемами определенными. но нужно, чтобы драйвер держал ХА, а в мускл с этим туго, ой как туго со всем там.
mr_dronski вне форума  
Старый 07.06.2003, 03:34   #9
oberon
Местный
 
Регистрация: 26.10.2002
Сообщений: 134
oberon пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

База бегает, все окей. Просто не хочется попкой быть - файл скопировал, хост подправил, в логине по аналогии с тем что было новый полиси через буфер сварганил - а ничего не понял, что пишется при переходе на другую базу в частности и при коннекте к сервесу (а в боссе это в виде сервисов реализовано насколько я понял) вообще.
RARDeployment - это кто?
oberon вне форума  
Старый 07.06.2003, 04:21   #10
mr_dronski
Местный
 
Регистрация: 06.06.2002
Сообщений: 928
mr_dronski пока не определено
По умолчанию RE: Переход со встроенной бд на mysql

подробно у них деплоеры расписаны в доках, целая глава.

по расширению файла можно определить тип ресурса - это конвенция от Сан.

SAR - service archive
WSR - web service archive
RAR - resource adapter archive

ну, всем известные называть не буду
mr_dronski вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
Соединение с БД Java
Вот такая программа соединения с БД не работает. Почему? import java.awt.*; import java.sql.*; public class Bdcons { public static void main(String args) { Statement stmt;
gavgav
движение - жизнь Java
только мы тут расслабились и подумали, что мы знаем достаточно много про J2EE и... http://developer.java.sun.com/developer/technicalArticles/J2EE/J2EEevolution/ успехов! :)
mr_dronski
Подключение MSSQL к Java Applet
Не могу поключить MSSQL сервер к апплету, просто получаю сикъюрити эксэпшн в консоле(в браузере); а апплетвьювер всё демонстрирует корректно. Я использовал мост JDBC-ODBC.Напишите мне что-нибудь,...
el_break@gmx.net
Апплет не слышит сервлет Java
По авторитетной книжке пытаюсь отправить и получить из апплета строчку через сервлет (Get). Не работает. Но если в самом браузере набрать...
Allan_123
Не работает Applet - HelloWorld Java
Почему мой аплет HelloWorld не работает, а при открытии html файла я вижу надпись 'Applet not fond'?
maxi
Программа, использующая БД. Java
Не как не могу разобраться с базами данных. Покажите пример или дайте ссылку на такой пример проги: Например прога связывается с базой данных Access или Excel и Осуществляет пару операций над ней,...
maxi



Текущее время: 05:56. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru