|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
Помогите перейти. Вот что я сделал: 1. Перекопировал mysql-service.xml (стандартный в боссе есть), только в нем изменил непонятный //dell:3306 на //localhost:3306 2. В login-config.xml добавил:
<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:
<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 Хотя этот класс в том яре есть! Помогите, пожалуйста.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
| закинь в deploy dir драйвер. если уж там не заработает, то тогда с настройками глюки и будем дальше разбираться.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
Заработало. Но теперь хочется разобраться как это я сделал, потому что мало что понял, делал по аналогии и наитию. 1. Что, все драйвера, либы класть прямо в deploy - это нормально? 2. Начнем пожалуй с самого главного - в боссе все построено на MBean. Объясните пожалуйста внятно что это такое? Все доки по этому поводу перерыл, сведений куча, но вот целостного понимания нет. Думаю без этого дальше разбираться рановато.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
http://java.sun.com/jmx
сильно не зачитывайся, а то потеряешься :)
в 2 словах - что-то наподобие сессионных бинов, но для системного мониторинга, управления и т.д.
например - у вас есть распределенный кеш. в кластере. вы хотите посмотреть, как он поживает - сколько хитов, сколько миссов. для этого не нужно писать свой клиент мониторинга. достаточно вывести все доступные операции в интерфейсе МБина и любая программа, работающая с JMX может теперь это делать. идем дальше - захотели изменить размер кеша? раньше вы могли бы хранить этот размер в файле пропертис. ага, значит нужен чаще всего рестарт, чтобы инициализировать кеш и прочитать их. с ЖМХ это не нужно. вы добираетесь до бина любым удобным способом (в ЖБоссе - модифицированная версия веб-консоли для ЖМХ), находите МБина вашего кеша и меняете ему параметр cacheSize.
именно поэтому в ЖБоссе можно все делать "на лету".
теперь про драйвер. я наверное, подозреваю, в чем дело. открываем дескриптор датасорса. сразу под узлом <server> мы видим <codebase>. можем и не видеть. не так важно.
значит вот, скажем, для SAPDB и драйвера, лежащего в деплой дир он будет такой:
<server> <classpath codebase="." archives="sapdbc.jar"/> ... </server>
если мы его закинем в дефолт/либ, то нужно указать путь к нему:
<server> <classpath codebase="../lib" archives="sapdbc.jar"/> ... </server>
так должно работать. тут уже не так важно, где он лежит. главное, что указано, что деплоить драйвер нужно ДО того, как деплоить сам датасорс.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
если заинтересуешься вдруг в будущем ЖМХ, то на жбосс.ру мелькала книжка "JMX in Action".
есть еще книжка по ЖМХ от самого ЖБосса и Marc Fleury, но она довольно сложно написана и не рекомендуется как первая.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
Бог с ним пока, с JMX, вернемся допустим к login-config: - что такое service=LocalTxCM, часто упоминается? - <login-module code = "org.jboss.resource.security ConfiguredIdentityLoginModule" это что еще? Или лучше начать с mysql-service - но там еще больше "интересного". Ну про все эти ConnectionPool, ManagedConnection и т.д. я почитал вообще, хотя синтаксис..в жизни не повторю! Но вот service=CachedConnectionManager, JaasSecurityManager, service=RARDeployer в доках чего то вообще не освещены толком, если вообще есть.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
мы должны определиться сначала, какая из них проблема и что мы решаем. XXXSecurityManager - это все классы архитектуры JBossSX - стр.291
они нужны, если нужны продвинутые фичи авторизации - типа даже подключить сканер пальца в сервер - мона :)
по умолчанию этот раздел вообще закомментирован. в ЖБоссе есть более простой модуль, на котором можно поучиться - XMLLoginConfig. ну а дальше можно и в базу, и в LDAP, и куда еще.
так с какой проблемой мы сейчас разбираемся? база забегала?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
service=LocalTxCM
это локальный транзакционный менеджер коннектов. штука оптимизированная для одной базы рядышком с сервером, и вообще системная вещь, тебе о ней беспокоиться не нужно. просто пиши, как в примере дескриптора.
для информации - есть другие менеджеры - например, распределенных транзакций, поддерживающий 2PC Protocol (2-Phase Commit). еще называется ХА (англ.) архитектура. случаи там отдельные, это узнаешь, если столкнешься с проблемами определенными. но нужно, чтобы драйвер держал ХА, а в мускл с этим туго, ой как туго со всем там.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
База бегает, все окей. Просто не хочется попкой быть - файл скопировал, хост подправил, в логине по аналогии с тем что было новый полиси через буфер сварганил - а ничего не понял, что пишется при переходе на другую базу в частности и при коннекте к сервесу (а в боссе это в виде сервисов реализовано насколько я понял) вообще. RARDeployment - это кто?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
подробно у них деплоеры расписаны в доках, целая глава.
по расширению файла можно определить тип ресурса - это конвенция от Сан.
SAR - service archive WSR - web service archive RAR - resource adapter archive
ну, всем известные называть не буду :)
|
|
|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
| Я вернул прежний (дефолтный) login-config и все равно работает. То есть то что я там писал в принципе необязательно. Но я там указывал и имя и пароль - где и как это используют (-ся)?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
| это используется для маппинга реалмов. то есть физический маппинг логических юзеров приложения в реальных юзеров в среде, где бегают ЕЖБ. для обычной работы они и не нужны, но если встает задача разнести секьюрити, то тогда и начинаешь юзать эту вещь. подробно в доках.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 18.03.2005 20:48
Сообщ.: 136,
Visits: 1 497
|
|
| А что такое принципал и где это вообще пишется, указывается или что?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.03.2005 18:40
Сообщ.: 1 019,
Visits: 11 210
|
|
один вопрос хлеще другого :) у тебя, наверное, талант задавать глобальные вопросы :) но это хорошо, нужные вопросы еще нужно уметь задавать :)
описывать подробно не могу, места нет. лезем в доку.
в 2 словах - принципал - это идентификатор юзера. это может быть строка в виде логина. в паре с принципалом идет credentials - это уже то, как вы себя идентифицируете. часто это просто пароль. а может быть и отсканированная сетчатка глаза.
|
|
|
|