JBoss5.xでのHibernate deploy設定について
一つ前の記事で JBoss5.x系でHibernateのdeployの扱い・設定が変わったことにふれました。
参考:http://www.jboss.org/community/wiki/JBossHibernate3
で肝心の設定どうやるの??
というときにドキュメントが見つからない!!
JBossHibernate3 か JBossAS5のドキュメントのどこかにはありそうな気もします。
が見つからないものはしょうがないので感でやってみました。
こんな感じ?
<hibernate-configuration xmlns="urn:jboss:hibernate-deployer:1.0">
<session-factory
name="java:/hibernate/adminuser"
bean="jboss.test.har:service=Hibernate">
<property name="datasourceName">java:/jdbc/adminuser</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--↓ココがかんでたしたとこ-->
<property name="show_sql">false</property>
<depends>jboss:service=Naming</depends>
<depends>jboss:service=TransactionManager</depends>
</session-factory>
</hibernate-configuration>
デプロイ結果
java.lang.RuntimeException: Error configuring property: show_sql for jboss.test.har:service=Hibernate
at org.jboss.kernel.plugins.dependency.ConfigureAction.dispatchSetProperty(ConfigureAction.java:112)
at org.jboss.kernel.plugins.dependency.ConfigureAction.setAttributes(ConfigureAction.java:85)
at org.jboss.kernel.plugins.dependency.ConfigureAction.installActionInternal(ConfigureAction.java:44)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: No such property hibernate for bean org.jboss.hibernate.jmx.Hibernate available [statisticsServiceName, beanName, defaultSchema, defaultCatalog, sessionFactoryName, querySubstitutions, secondLevelCacheEnabled, password, version, statGenerationEnabled, maxFetchDepth, username, useStructuredCacheEntriesEnabled, datasourceName, dirty, streamsForBinaryEnabled, getGeneratedKeysEnabled, hbm2ddlAuto, minimalPutsEnabled, instance, jdbcBatchSize, jdbcScrollableResultSetEnabled, cacheRegionFactoryClass, dialect, scanForMappingsEnabled, runningSince, cacheRegionPrefix, class, cacheProviderClass, sessionFactoryRunning, batchVersionedDataEnabled, harUrl, queryCacheEnabled, sessionFactoryInterceptor, deployedCacheManagerJndiName, showSqlEnabled, reflectionOptimizationEnabled, jdbcFetchSize, listenerInjector, sqlCommentsEnabled, deployedCacheJndiName, controller]
at org.jboss.beans.info.plugins.AbstractBeanInfo.getProperty(AbstractBeanInfo.java:147)
at org.jboss.beans.info.plugins.BeanInfoUtil.getNestedPropertyInfo(BeanInfoUtil.java:111)
at org.jboss.beans.info.plugins.BeanInfoUtil.getPropertyInfo(BeanInfoUtil.java:197)
at org.jboss.kernel.plugins.dependency.PropertyDispatchWrapper.execute(PropertyDispatchWrapper.java:77)
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
at org.jboss.kernel.plugins.dependency.ConfigureAction.dispatchSetProperty(ConfigureAction.java:107)
... 45 more
まあでもヒントをエラーメッセージ中から発見しました。
オレンジの部分見てください!!
この中に該当しないと指摘されています。
逆にこの中に該当すればよいわけです。
抜き出してみました
statisticsServiceName,
beanName,
defaultSchema,
defaultCatalog,
sessionFactoryName,
querySubstitutions,
secondLevelCacheEnabled,
password,
version,
statGenerationEnabled,
maxFetchDepth,
username,
useStructuredCacheEntriesEnabled,
datasourceName,
dirty,
streamsForBinaryEnabled,
getGeneratedKeysEnabled,
hbm2ddlAuto,
minimalPutsEnabled,
instance,
jdbcBatchSize,
jdbcScrollableResultSetEnabled,
cacheRegionFactoryClass,
dialect,
scanForMappingsEnabled,
runningSince,
cacheRegionPrefix,
class,
cacheProviderClass,
sessionFactoryRunning,
batchVersionedDataEnabled,
harUrl,
queryCacheEnabled,
sessionFactoryInterceptor,
deployedCacheManagerJndiName,
showSqlEnabled,
reflectionOptimizationEnabled,
jdbcFetchSize,
listenerInjector,
sqlCommentsEnabled,
deployedCacheJndiName,
controller
あとはHibernateの設定項目と照らし合わせて設定すればよい感じですね
参考:http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/ja_JP/html/Hibernate_Reference_Guide/Configuration-Optional_configuration_properties.html
<hibernate-configuration xmlns="urn:jboss:hibernate-deployer:1.0">
<!-- a SessionFactory instance listed as /jndi/name -->
<session-factory
name="java:/hibernate/adminuser"
bean="jboss.test.har:service=Hibernate">
<!-- properties -->
<property name="datasourceName">java:/jdbc/adminuser</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="showSqlEnabled">false</property>
<property name="queryCacheEnabled">true</property>
<property name="jdbcBatchSize">50</property>
<depends>jboss:service=Naming</depends>
<depends>jboss:service=TransactionManager</depends>
</session-factory>
</hibernate-configuration>
こんな感じ?
…ココまで書いて気がついた(--;
JBoss4.x系の設定項目の頭を小文字にしただけだ!!
まぁよしとしましょう
2009-07-24 13:27:50,931 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) undeploy, ctxPath=/admin
2009-07-24 13:27:51,134 INFO [org.jboss.hibernate.deployers.HibernateDeployer] (HDScanner) Created Hibernate bean: AbstractBeanMetaData@f185b0{name=jboss.test.har:service=Hibernate bean=org.jboss.hibernate.jmx.Hibernate properties=[dialect, jdbcBatchSize, datasourceName, showSqlEnabled, queryCacheEnabled, sessionFactoryName] constructor=AbstractConstructorMetaData@80188f{parameters=[org.jboss.virtual.VirtualFile]} autowireCandidate=true depends=[jboss:service=Naming, jboss:service=TransactionManager]}
2009-07-24 13:27:51,165 INFO [org.hibernate.cfg.HbmBinder] (HDScanner) Mapping class: neoplus.admin.data.RoleData -> role_data
2009-07-24 13:27:51,165 INFO [org.hibernate.cfg.HbmBinder] (HDScanner) Mapping class: neoplus.admin.data.UserData -> user_data
2009-07-24 13:27:51,165 INFO [org.hibernate.cfg.HbmBinder] (HDScanner) Mapping class: neoplus.admin.data.RoleMap -> role_map
2009-07-24 13:27:51,165 INFO [org.hibernate.cfg.HbmBinder] (HDScanner) Mapping collection: neoplus.admin.data.UserData.roleMaps -> role_map
2009-07-24 13:27:51,165 INFO [org.hibernate.util.NamingHelper] (HDScanner) JNDI InitialContext properties:{}
2009-07-24 13:27:51,180 INFO [org.hibernate.connection.DatasourceConnectionProvider] (HDScanner) Using datasource: java:/jdbc/adminuser
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) RDBMS: MySQL, version: 5.1.34-community
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.0-beta ( $Date: 2005-11-17 16:14:47 +0100 (Thu, 17 Nov 2005) $, $Revision$ )
2009-07-24 13:27:51,180 INFO [org.hibernate.dialect.Dialect] (HDScanner) Using dialect: org.hibernate.dialect.MySQLDialect
2009-07-24 13:27:51,180 INFO [org.hibernate.transaction.TransactionFactoryFactory] (HDScanner) Transaction strategy: org.hibernate.transaction.JTATransactionFactory
2009-07-24 13:27:51,180 INFO [org.hibernate.util.NamingHelper] (HDScanner) JNDI InitialContext properties:{}
2009-07-24 13:27:51,180 INFO [org.hibernate.transaction.TransactionManagerLookupFactory] (HDScanner) instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
2009-07-24 13:27:51,180 INFO [org.hibernate.transaction.TransactionManagerLookupFactory] (HDScanner) instantiated TransactionManagerLookup
2009-07-24 13:27:51,180 INFO [org.hibernate.transaction.TransactionManagerLookupFactory] (HDScanner) instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
2009-07-24 13:27:51,180 INFO [org.hibernate.transaction.TransactionManagerLookupFactory] (HDScanner) instantiated TransactionManagerLookup
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Automatic flush during beforeCompletion(): enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Automatic session close at end of transaction: enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) JDBC batch size: 50
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) JDBC batch updates for versioned data: disabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Scrollable result sets: enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) JDBC3 getGeneratedKeys(): enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Connection release mode: after_statement
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Maximum outer join fetch depth: 2
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Default batch fetch size: 1
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Generate SQL with comments: disabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Order SQL updates by primary key: disabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Order SQL inserts for batching: disabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2009-07-24 13:27:51,180 INFO [org.hibernate.hql.ast.ASTQueryTranslatorFactory] (HDScanner) Using ASTQueryTranslatorFactory
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Query language substitutions: {}
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) JPA-QL strict compliance: disabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Second-level cache: enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Query cache: enabled
2009-07-24 13:27:51,180 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
2009-07-24 13:27:51,180 INFO [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge] (HDScanner) Cache provider: org.hibernate.cache.HashtableCacheProvider
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Optimize cache for minimal puts: disabled
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Structured second-level cache entries: disabled
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Query cache factory: org.hibernate.cache.StandardQueryCacheFactory
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Statistics: disabled
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Deleted entity synthetic identifier rollback: disabled
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Default entity-mode: pojo
2009-07-24 13:27:51,196 INFO [org.hibernate.cfg.SettingsFactory] (HDScanner) Named query checking : enabled
2009-07-24 13:27:51,196 INFO [org.hibernate.impl.SessionFactoryImpl] (HDScanner) building session factory
2009-07-24 13:27:51,227 INFO [org.hibernate.impl.SessionFactoryObjectFactory] (HDScanner) Not binding factory to JNDI, no JNDI name configured
2009-07-24 13:27:51,227 INFO [org.hibernate.util.NamingHelper] (HDScanner) JNDI InitialContext properties:{}
2009-07-24 13:27:51,227 INFO [org.hibernate.cache.UpdateTimestampsCache] (HDScanner) starting update timestamps cache at region: org.hibernate.cache.UpdateTimestampsCache
2009-07-24 13:27:51,227 INFO [org.hibernate.cache.StandardQueryCache] (HDScanner) starting query cache at region: org.hibernate.cache.StandardQueryCache
2009-07-24 13:27:51,227 INFO [org.jboss.hibernate.jmx.Hibernate] (HDScanner) SessionFactory successfully built and bound into JNDI [java:/hibernate/adminuser]
2009-07-24 13:27:51,305 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) deploy, ctxPath=/admin
2009-07-24 13:27:51,368 WARN [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) Failed to setup clustering, clustering disabled. NoClassDefFoundError: org/jboss/cache/pojo/jmx/PojoCacheJmxWrapperMBean
ぶじデプロイできました
| 固定リンク | コメント (0) | トラックバック (0)

最近のコメント