MDB deploy stuck
pilania Oct 20, 2005 2:51 PMUsing Jboss-4.0.2 : this setup works in jboss-4.0.1sp1
MDB is a jar file deployed with ear file. During deploy it stops at
"creating DLQ handler" and the server remains stuck... cannot even access jms-console. Have to kill java process from task manager
server is copy of all
using service-binding (coz have other servers running)
File c:\jboss-4.0.2\server\aos\deploy\jms\hajndi-jms-ds.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<connection-factories>
<!-- ==================================================================== -->
<!-- JMS Stuff -->
<!-- ==================================================================== -->
<!-- The JMS provider loader -->
DefaultJMSProvider
org.jboss.jms.jndi.JNDIProviderAdapter
<!-- The combined connection factory -->
XAConnectionFactory
<!-- The queue connection factory -->
XAConnectionFactory
<!-- The topic factory -->
XAConnectionFactory
<!-- Access JMS via HAJNDI -->
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=${jboss.bind.address}:1198
<!-- bind address is same as defined in service-bindings.xml -->
<!-- The server session pool for Message Driven Beans -->
<depends optional-attribute-name="XidFactory">jboss:service=XidFactory
StdJMSPool
org.jboss.jms.asf.StdServerSessionPoolFactory
<!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
<tx-connection-factory>
<jndi-name>JmsXA</jndi-name>
<xa-transaction/>
<rar-name>jms-ra.rar</rar-name>
<connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
<config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
<config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
<max-pool-size>20</max-pool-size>
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
</connection-factories>
/deploy-hasingleton/jms/oracle-jdbc2-service.xml looks like this
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: oracle-jdbc2-service.xml,v 1.7 2004/08/20 10:33:49 ejort Exp $ -->
<!-- ==================================================================== -->
<!-- Persistence and caching using Oracle -->
<!-- IMPORTANT: Remove hsqldb-jdbc2-service.xml -->
<!-- ==================================================================== -->
<!--
| The destination manager is the core service within JBossMQ
-->
<depends optional-attribute-name="MessageCache">jboss.mq:service=MessageCache
<depends optional-attribute-name="PersistenceManager">jboss.mq:service=PersistenceManager
<depends optional-attribute-name="StateManager">jboss.mq:service=StateManager
<!--
| The MessageCache decides where to put JBossMQ message that
| are sitting around waiting to be consumed by a client.
|
| The memory marks are in Megabytes. Once the JVM memory usage hits
| the high memory mark, the old messages in the cache will start getting
| stored in the DataDirectory. As memory usage gets closer to the
| Max memory mark, the amount of message kept in the memory cache aproaches 0.
-->
50
60
jboss.mq:service=PersistenceManager
<!-- The PersistenceManager is used to store messages to disk. -->
<!--
| The jdbc2 PersistenceManager is the new improved JDBC implementation.
| This implementation allows you to control how messages are stored in
| the database.
|
| This jdbc2 PM configuration has been tested against Oracle
-->
<depends optional-attribute-name="ConnectionManager">jboss.jca:service=DataSourceBinding,name=DefaultDS
BLOB_TYPE=BINARYSTREAM_BLOB
INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)
INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?)
SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS
SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES
SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=?
SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=?
UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=?
UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=?
UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?
DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM JMS_MESSAGES MESS WHERE TXOP=:1 AND EXISTS (SELECT TXID FROM JMS_TRANSACTIONS TX WHERE TX.TXID = MESS.TXID)
DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?
DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=?
DELETE_TEMPORARY_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXOP='T'
DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \
DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )
CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES (TXOP, TXID)
CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES (DESTINATION)
CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )
CREATE_TABLES_ON_STARTUP = TRUE
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: hsqldb-jdbc-state-service.xml,v 1.3 2004/09/03 21:36:25 ejort Exp $ -->
<!-- ==================================================================== -->
<!-- JBossMQ State Management using HSQLDB -->
<!-- See docs/examples/jms for other configurations -->
<!-- ==================================================================== -->
<!-- A Statemanager that stores state in the database -->
<depends optional-attribute-name="ConnectionManager">jboss.jca:service=DataSourceBinding,name=DefaultDS
CREATE_TABLES_ON_STARTUP = TRUE
CREATE_USER_TABLE = CREATE TABLE JMS_USERS (USERID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, \
CLIENTID VARCHAR(128), PRIMARY KEY(USERID))
CREATE_ROLE_TABLE = CREATE TABLE JMS_ROLES (ROLEID VARCHAR(32) NOT NULL, USERID VARCHAR(32) NOT NULL, \
PRIMARY KEY(USERID, ROLEID))
CREATE_SUBSCRIPTION_TABLE = CREATE TABLE JMS_SUBSCRIPTIONS (CLIENTID VARCHAR(128) NOT NULL, \
SUBNAME VARCHAR(128) NOT NULL, TOPIC VARCHAR(255) NOT NULL, \
SELECTOR VARCHAR(255), PRIMARY KEY(CLIENTID, SUBNAME))
GET_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
LOCK_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
GET_SUBSCRIPTIONS_FOR_TOPIC = SELECT CLIENTID, SUBNAME, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE TOPIC=?
INSERT_SUBSCRIPTION = INSERT INTO JMS_SUBSCRIPTIONS (CLIENTID, SUBNAME, TOPIC, SELECTOR) VALUES(?,?,?,?)
UPDATE_SUBSCRIPTION = UPDATE JMS_SUBSCRIPTIONS SET TOPIC=?, SELECTOR=? WHERE CLIENTID=? AND SUBNAME=?
REMOVE_SUBSCRIPTION = DELETE FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
GET_USER_BY_CLIENTID = SELECT USERID, PASSWD, CLIENTID FROM JMS_USERS WHERE CLIENTID=?
GET_USER = SELECT PASSWD, CLIENTID FROM JMS_USERS WHERE USERID=?
POPULATE.TABLES.01 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('guest', 'guest')
POPULATE.TABLES.02 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('j2ee', 'j2ee')
POPULATE.TABLES.03 = INSERT INTO JMS_USERS (USERID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
POPULATE.TABLES.04 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('nobody', 'nobody')
POPULATE.TABLES.05 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('dynsub', 'dynsub')
POPULATE.TABLES.06 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('guest','guest')
POPULATE.TABLES.07 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('j2ee','guest')
POPULATE.TABLES.08 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('john','guest')
POPULATE.TABLES.09 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('subscriber','john')
POPULATE.TABLES.10 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','john')
POPULATE.TABLES.11 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','dynsub')
POPULATE.TABLES.12 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','john')
POPULATE.TABLES.13 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','dynsub')
POPULATE.TABLES.14 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('noacc','nobody')
Server trace:
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.EJBDeployer] start application, deploymentInfo: org.jboss.deployment.DeploymentInfo@6a70e619 { url=file:/C:/jboss-4.0.2/server/aos/deploy/AOS.ear/testmdb.jar }
deployer: org.jboss.ejb.EJBDeployer@15da7d
status: Starting
state: START_DEPLOYER
watch: file:/C:/jboss-4.0.2/server/aos/deploy/AOS.ear/testmdb.jar
altDD: null
lastDeployed: 1129830631608
lastModified: 1129830631558
mbeans:
jboss.j2ee:jndiName=local/MessageAccess@3929576,service=EJB state: Created
, short name: testmdb.jar, parent short name: AOS.ear
2005-10-20 13:50:32,269 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:service=EjbModule,module=testmdb.jar
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.EjbModule] Starting jboss.j2ee:service=EjbModule,module=testmdb.jar
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.EjbModule] startService, starting container: MessageAccess
2005-10-20 13:50:32,269 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jndiName=local/MessageAccess@3929576,service=EJB
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.MessageDrivenContainer] Starting jboss.j2ee:jndiName=local/MessageAccess@3929576,service=EJB
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.MessageDrivenContainer] Begin java:comp/env for EJB: MessageAccess
2005-10-20 13:50:32,269 DEBUG [org.jboss.ejb.MessageDrivenContainer] TCL: org.jboss.util.loading.DelegatingClassLoader@6774ee
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.MessageDrivenContainer] Bound java:comp/ORB for EJB: MessageAccess
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.MessageDrivenContainer] Bound java:comp:/HandleDelegate for EJB: MessageAccess
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.MessageDrivenContainer] End java:comp/env for EJB: MessageAccess
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.local.BaseLocalProxyFactory] MessageAccess cannot be Bound, doesn't have local and local home interfaces
2005-10-20 13:50:32,279 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:service=EJB,plugin=pool,jndiName=local/MessageAccess@3929576
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.MessageDrivenInstancePool] Starting jboss.j2ee:service=EJB,plugin=pool,jndiName=local/MessageAccess@3929576
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.MessageDrivenInstancePool] Started jboss.j2ee:service=EJB,plugin=pool,jndiName=local/MessageAccess@3929576
2005-10-20 13:50:32,279 DEBUG [org.jboss.system.ServiceController] Starting dependent components for: jboss.j2ee:service=EJB,plugin=pool,jndiName=local/MessageAccess@3929576 dependent components: []
2005-10-20 13:50:32,279 DEBUG [org.jboss.resource.connectionmanager.CachedConnectionInterceptor] start called in CachedConnectionInterceptor
2005-10-20 13:50:32,279 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:service=EJB,plugin=invoker,binding=message-driven-bean,jndiName=local/MessageAccess@3929576
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Starting jboss.j2ee:service=EJB,plugin=invoker,binding=message-driven-bean,jndiName=local/MessageAccess@3929576
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/DefaultJMSProvider
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@129aa21
2005-10-20 13:50:32,279 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
2005-10-20 13:50:32,299 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,379 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,459 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,520 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,580 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,640 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,700 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,760 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,830 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:32,980 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:33,070 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:33,140 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:33,211 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:33,281 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
2005-10-20 13:50:33,361 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=ins, password=--hidden--}
would appreciate any help