[jboss-user] [JBoss Cache Users] - Re: JBC spends 90% of its time in TPE$Worker.run
Hi Manik yes it might be serialization. But still with the async tag, this serialization is supposed to happen asynchronously after the commit right? So by definition it shouldn't increase latency. I have reduced the latency a lot (more than half) by: -using invalidation instead of replication -setting a Heap size that is a bit more than what is really used, instead of the big heap i used before But it is still a bit slow, and CPU usage (another of our requirements) is at 50% instead of 10%. Isn't a 50% CPU load too much for this use case? (A and B are quad-core 2.33GHz 4G RAM, linked by a 100Mega switch (yes that is slow but this too is a requirement)) At any rate from what i saw in VisualVM i suspect that the threads that i mentioned are what makes CPU usage so high. Anyway any clue? What can i do to investigate further? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4270138#4270138 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4270138 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: JBC spends 90% of its time in TPE$Worker.run
Are there GC options that are specially adapted to this use case? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4270141#4270141 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4270141 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: JBC spends 90% of its time in TPE$Worker.run
I don't get it: replication is asynchronous (async tag), but when i remove replication (only launching the A node), my ManyWritesTest completes in half the time! Why does replication slow down the writes, since it is async? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4269970#4269970 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4269970 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - JBC spends 90% of its time in TPE$Worker.run
I'm benchmarking JBC writes with our application POJOs (80% update, 10% create, 10% delete). So far it is too slow for our requirements, but i haven't spent a lot of time tuning it yet. The topology of the bench is: -there are two nodes, on a local network -i write to a node A (always the same), and writes are replicated to the other node B. I profiled A with Visula VM, and 90% of the time is spent in java.util.concurrent.ThreadPoolExecutor$Worker.run. VVM also says that this is called by threads like OOB-something, and that all the time is spent in the self-time of the Worker.run method. What do these symptoms mean and how can i speed up my writes? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4269825#4269825 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4269825 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheListener is (unduly) notified of rollbacked operati
The CacheListener is a local observer: it sees changes to the local copy of the cache. If a transaction is started on the master node (master for a given interaction, otherwise nodes need not be symmetric), and it is rolled back, changes are not replicated to the slave nodes. Thus on slave nodes, the CacheListener is not notified of any change on rollback. So the only problem is that the master node's CacheListener IS notified even in case of rollback. So you don't need the workaround if, on the master node, you don't need the notification. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4268955#4268955 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4268955 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheListener is (unduly) notified of rollbacked operati
Do you mean something like i should accumulate events, clear the accumulating list on TransactionCompletedEvent, and re-fire the accumulated events on TransactionCompletedEvent if isSuccessful is true? I have seen this workaround mentionned in the PojoCacheListener javadoc, but i don't understand why JBPC doesn't already do this by himself. I can't think of a use case where you would need to be notified of rolled back events. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4268566#4268566 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4268566 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
Thanks for the reply, it's nice that someone reads these old messages. I have temporarily stopped working on the persistence aspect, but yes i could try with JBossTS when i'm back on it. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4268567#4268567 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4268567 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
Now that i think about it, has JBC been tested with Atomikos, or TransactionManagers other than JBossTS? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4268568#4268568 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4268568 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - NullPointerException in replication (GlobalTransaction lost)
I have a strange problem when i try to have both replication and transactions. Each works fine individually, for transactions i use a JTA impl (Atomikos). It seems to happen when JBC tries to replicate a change, but not any change: there are changes that are replicated correctly, within a transaction. I can't post the OK and KO cases because that would be too much code, i'm looking for hints here and will post more if requested. Hopefully this exception will recall someone something. Looking at the JBC source, the problem that: TxInterceptor.visitPrepareCommand ( InvocationContext ctx , PrepareCommand command) | GlobalTransaction gtx = ctx.getGlobalTransaction; //THIS IS NULL | I've made sure the transaction context has been initiated (with Spring's TransactionSynchronizationManager.isActualTransactionActive) but this seems to be saying that it has been lost along the way. The stack: FF__ReplicatedComponentGlue/addRemoteInvocation/0/isActualTransactionActive: true | [org.jboss.cache.interceptors.TxInterceptor][RMI TCP Connection(3)-127.0.0.1] - Caught exception, will now set transaction to roll back | java.lang.NullPointerException | at org.jboss.cache.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:132) | at org.jboss.cache.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:68) | at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116) | at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131) | at org.jboss.cache.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:140) | at org.jboss.cache.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:68) | at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116) | at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178) | at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPrepareCommand(InvocationContextInterceptor.java:106) | at org.jboss.cache.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:68) | at org.jboss.cache.interceptors.InterceptorChain.invokeRemote(InterceptorChain.java:316) | at org.jboss.cache.commands.remote.ReplicateCommand.processSingleCommand(ReplicateCommand.java:139) | at org.jboss.cache.commands.remote.ReplicateCommand.perform(ReplicateCommand.java:115) | at org.jboss.cache.marshall.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:319) | at org.jboss.cache.marshall.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:246) | at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:637) | at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:545) | at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:368) | at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775) | at org.jgroups.JChannel.up(JChannel.java:1274) | at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:462) | at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:144) | at org.jgroups.protocols.FRAG2.up(FRAG2.java:192) | at org.jgroups.protocols.FC.up(FC.java:468) | at org.jgroups.protocols.pbcast.GMS.up(GMS.java:796) | at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:192) | at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:233) | at org.jgroups.protocols.UNICAST.up(UNICAST.java:299) | at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:873) | at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:705) | at org.jgroups.protocols.BARRIER.up(BARRIER.java:136) | at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167) | at org.jgroups.protocols.FD.up(FD.java:284) | at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:308) | at org.jgroups.protocols.MERGE2.up(MERGE2.java:144) | at org.jgroups.protocols.Discovery.up(Discovery.java:263) | at org.jgroups.protocols.PING.up(PING.java:270) | at org.jgroups.protocols.TP.passMessageUp(TP.java:1277) | at org.jgroups.protocols.TP.access$100(TP.java:49) | at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1830) | at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1804) | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | at java.lang.Thread.run(Thread.java:619) What seems strange is that this stack at no point refers to user code. Strange since i used synchronous replication, but maybe the problem comes from that if JBC looks for the transaction
[jboss-user] [JBoss Cache Users] - Re: NullPointerException in replication (GlobalTransaction l
Never mind, the problem was that you need to use a TransactionManager on the replicated JVM too. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4268596#4268596 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4268596 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - JGroups multicast works, JBC cluster doesn't form with same
I'm trying JBC clustering, but so far the cluster never goes past 0 nodes. Yes not 1, but 0 nodes! cache = org.jboss.cache.pojo.impl.PojoCacheImpl cache=org.jboss.cache.DataContainerImpl [0 nodes, 0 locks] delegate=org.jboss.cache.pojo.impl.pojocachedeleg...@5bd978 types=0 I have tried some tests to see where it might come from: 1/ The JGroups drawing test at http://www.jgroups.org/tutorial/html/ch01.html works perfectly, so at least multicast works. 2/ The JBoss cache tutorial test with the 2 little clients works 3/ My two nodes using the default JGroups conf (used by 1/) | clustering mode=replication | jgroupsConfig configFile=udp.xml / | sync / | /clustering | --0 nodes on both JVMs 4/ My two nodes using the sample conf total-replication.xml (used by 2/), and supplying the same runtime arguments as 2/ | -Djava.net.preferIPv4Stack=true | -Dbind.address=127.0.0.1 | | jbosscache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=urn:jboss:jbosscache-core:config:3.2 | | !--clustering mode=replication | jgroupsConfig configFile=udp.xml / | sync / | /clustering-- | | !-- Configure the TransactionManager -- |transaction transactionManagerLookupClass=org.jboss.cache.transaction.GenericTransactionManagerLookup/ | |clustering mode=replication | !-- JGroups protocol stack properties. -- | jgroupsConfig | UDP discard_incompatible_packets=true enable_bundling=false enable_diagnostics=false ip_ttl=2 | loopback=false max_bundle_size=64000 max_bundle_timeout=30 mcast_addr=228.10.10.10 | mcast_port=45588 mcast_recv_buf_size=2500 mcast_send_buf_size=64 | oob_thread_pool.enabled=true oob_thread_pool.keep_alive_time=1 oob_thread_pool.max_threads=4 | oob_thread_pool.min_threads=1 oob_thread_pool.queue_enabled=true oob_thread_pool.queue_max_size=10 | oob_thread_pool.rejection_policy=Run thread_naming_pattern=pl thread_pool.enabled=true | thread_pool.keep_alive_time=3 thread_pool.max_threads=25 thread_pool.min_threads=1 | thread_pool.queue_enabled=true thread_pool.queue_max_size=10 thread_pool.rejection_policy=Run | tos=8 ucast_recv_buf_size=2000 ucast_send_buf_size=64 use_concurrent_stack=true | use_incoming_packet_handler=true/ | PING num_initial_members=3 timeout=2000/ | MERGE2 max_interval=3 min_interval=1/ | FD_SOCK/ | FD max_tries=5 shun=true timeout=1/ | VERIFY_SUSPECT timeout=1500/ | pbcast.NAKACK discard_delivered_msgs=true gc_lag=0 retransmit_timeout=300,600,1200,2400,4800 | use_mcast_xmit=false/ | UNICAST timeout=300,600,1200,2400,3600/ | pbcast.STABLE desired_avg_gossip=5 max_bytes=40 stability_delay=1000/ | pbcast.GMS join_timeout=5000 print_local_addr=true shun=false view_ack_collection_timeout=5000 | view_bundling=true/ | FRAG2 frag_size=6/ | pbcast.STREAMING_STATE_TRANSFER/ | pbcast.FLUSH timeout=0/ | | /jgroupsConfig | | sync / | !-- Alternatively, to use async replication, comment out the element above and uncomment the element below. -- | !-- async / -- | |/clustering | | /jbosscache | --0 nodes on both JVMs View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4267456#4267456 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4267456 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: JGroups multicast works, JBC cluster doesn't form with s
Here is my test main: public class JustStartTheCache | { | private final String name; | private final Cache cache; | | public JustStartTheCache(String name) | { | this.name = name; | CacheFactory factory = new DefaultCacheFactory(); | this.cache = factory.createCache ( resources/META-INF/replSync-service.xml , false ); | } | | public static void main(String[] args) | { | new JustStartTheCache( args[0] ).doIt(); | } | | private void doIt() | { | System.out.println ( name + STARTING ); | this.cache.start(); | System.out.println ( name + STARTED: + cache ); | } | } My conf: ?xml version=1.0 encoding=UTF-8? | | jbosscache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=urn:jboss:jbosscache-core:config:3.2 | | transaction transactionManagerLookupClass=org.jboss.cache.transaction.GenericTransactionManagerLookup/ | | !--clustering mode=replication | jgroupsConfig configFile=udp.xml / | sync / | /clustering-- | |clustering mode=replication | jgroupsConfig | UDP discard_incompatible_packets=true enable_bundling=false enable_diagnostics=false ip_ttl=2 | loopback=false max_bundle_size=64000 max_bundle_timeout=30 mcast_addr=228.10.10.10 | mcast_port=45588 mcast_recv_buf_size=2500 mcast_send_buf_size=64 | oob_thread_pool.enabled=true oob_thread_pool.keep_alive_time=1 oob_thread_pool.max_threads=4 | oob_thread_pool.min_threads=1 oob_thread_pool.queue_enabled=true oob_thread_pool.queue_max_size=10 | oob_thread_pool.rejection_policy=Run thread_naming_pattern=pl thread_pool.enabled=true | thread_pool.keep_alive_time=3 thread_pool.max_threads=25 thread_pool.min_threads=1 | thread_pool.queue_enabled=true thread_pool.queue_max_size=10 thread_pool.rejection_policy=Run | tos=8 ucast_recv_buf_size=2000 ucast_send_buf_size=64 use_concurrent_stack=true | use_incoming_packet_handler=true/ | PING num_initial_members=3 timeout=2000/ | MERGE2 max_interval=3 min_interval=1/ | FD_SOCK/ | FD max_tries=5 shun=true timeout=1/ | VERIFY_SUSPECT timeout=1500/ | pbcast.NAKACK discard_delivered_msgs=true gc_lag=0 retransmit_timeout=300,600,1200,2400,4800 | use_mcast_xmit=false/ | UNICAST timeout=300,600,1200,2400,3600/ | pbcast.STABLE desired_avg_gossip=5 max_bytes=40 stability_delay=1000/ | pbcast.GMS join_timeout=5000 print_local_addr=true shun=false view_ack_collection_timeout=5000 | view_bundling=true/ | FRAG2 frag_size=6/ | pbcast.STREAMING_STATE_TRANSFER/ | pbcast.FLUSH timeout=0/ | | /jgroupsConfig | sync / |/clustering | | /jbosscache The result is the same no matter which clustering conf i choose: NODE1 STARTING | NODE1 STARTED: org.jboss.cache.DataContainerImpl [0 nodes, 0 locks] NODE2 STARTING | NODE2 STARTED: org.jboss.cache.DataContainerImpl [0 nodes, 0 locks] No cluster is formed, and the number of nodes (0) is confirmed in JConsole for the exported MBean for DataContainerImpl. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4267461#4267461 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4267461 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: JGroups multicast works, JBC cluster doesn't form with s
Oops, well it turns out the cluster was indeed forming. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4267485#4267485 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4267485 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
At last here is the complete replSync-service.xml. Sorry for the inconvenience. ?xml version=1.0 encoding=UTF-8? | jbosscache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=urn:jboss:jbosscache-core:config:3.2 |transaction transactionManagerLookupClass=hellotrackworld.impl.srv.AtomikosTransactionManagerLookup/ | locking | isolationLevel=SERIALIZABLE | lockParentForChildInsertRemove=false | lockAcquisitionTimeout=2 | nodeLockingScheme=pessimistic | writeSkewCheck=false | concurrencyLevel=500/ | loaders passivation=false shared=false | preload | node fqn=// | /preload | loader | class=org.jboss.cache.loader.JDBCCacheLoader | async=false | fetchPersistentState=true | ignoreModifications=false | purgeOnStartup=false | properties | cache.jdbc.table.name=jbosscache | cache.jdbc.table.create=true | cache.jdbc.table.drop=true | cache.jdbc.table.primarykey=jbosscache_pk | cache.jdbc.fqn.column=fqn | cache.jdbc.fqn.type=VARCHAR(255) | cache.jdbc.node.column=node | cache.jdbc.node.type=BINARY | cache.jdbc.parent.column=parent | cache.jdbc.driver=org.hsqldb.jdbcDriver | cache.jdbc.url=jdbc:hsqldb:hsql://localhost/jbc | cache.jdbc.user=sa | cache.jdbc.password= | /properties | /loader | /loaders | /jbosscache | View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263617#4263617 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263617 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
If i comment the following: TransactionManager tm = Spring.getBean ( TransactionManager.class , atomikosTransactionManager ); | cache.getCache().getConfiguration().getRuntimeConfig().setTransactionManager(transactionManager); the behaviour is completely different: -instead of a single transaction spanning all operations between a SET AUTOCOMMIT FALSE and ROLLBACK, the log file structure is more complicated, including many SET AUTOCOMMIT FALSE and SET AUTOCOMMIT TRUE. More importantly there is no ROLLBACK at the end. -consequently the data is really persisted So, it works with the default, local transaction manager, but not with a JTA TM (Atomikos) .. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263621#4263621 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263621 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - CacheListener is (unduly) notified of rollbacked operations
I need to be notified of NodeModifiedEvents. When i update my node I do receive a notification which is fine. But when the modification is rollbacked, i still receive the notification even though the event describes a rolled back operation! Sounds like a bug to me since you should only be notified of things that really changed the system state, not things that were cancelled or rolled back. I'm using Core 3.2. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263479#4263479 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263479 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
Oops, i didn't post the config. There really should be an edit button. ' ?xml version=1.0 encoding=UTF-8? | jbosscache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=urn:jboss:jbosscache-core:config:3.2 |transaction transactionManagerLookupClass=hellotrackworld.impl.srv.AtomikosTransactionManagerLookup/ | locking | isolationLevel=SERIALIZABLE | lockParentForChildInsertRemove=false | lockAcquisitionTimeout=2 | nodeLockingScheme=pessimistic | writeSkewCheck=false | concurrencyLevel=500/ | View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263515#4263515 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263515 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: CacheLoader saves but rollbacks
Sorry, my connection is so poor that i'm not even able to post a XML config. I'll try again tomorrow. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263517#4263517 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263517 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - CacheLoader saves but rollbacks
I'm testing cache persistence with Core3.2 and Pojo3.0. I use a JdbcCacheLoader, which hits HSQLDB. The test starts the cache, attaches the table component, and modifies its state within a JTA transaction. -- As soon as the attached componenent is modified HSQLDB is written to (lines appear in jbosscache.log), which is fine; then the process terminates. -- In the HSQLDB .log file i can see inserts and stuff that involves the FQN of my component. At the end of the script though there is a rollback, so my data is never saved (the JBOSSCACHE table is empty) I added a cache loader interceptor, and i can see node events, but no TransactionRegisteredEvent. Maybe that is related? My cache config: I'm testing cache persistence with Core3.2 and Pojo3.0. I use a JdbcCacheLoader, which hits HSQLDB. | | The test starts the cache, attaches the table component, and modifies its state within a JTA transaction. | -- As soon as the attached componenent is modified HSQLDB is written to (lines appear in jbosscache.log), which is fine; then the process terminates. | -- In the HSQLDB .log file i can see inserts and stuff that involves the FQN of my component. At the end of the script though there is a rollback, so my data is never saved | | I added a cache loader interceptor, and i can see node events, but no TransactionRegisteredEvent. Maybe that is related? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263166#4263166 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263166 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: Is this a lazy loading issue? (not CacheLoader)
In case someone has the same issue, i no longer have this problem. I think it has been resolved when i started using the new (for JBC3) format of replSync-service instead of using JBC3 with a replSync-service a la JBC 2 (mbeans) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4263168#4263168 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4263168 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging Users] - Re: Possible transaction scopes for asynchronous reception?
The only solution i can think of is intercepting message production, to aggregate the messages produced within a transaction into a single wrapper message. This way the consumption scope necessarily spans the same messages as the production scope. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4257055#4257055 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4257055 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: how to lock a node for update?
allle i might have a use case a bit like yours, look at my isolation unit test in the other thread http://www.jboss.org/index.html?module=bbop=viewtopicp=4254357#4254357. If i use cache.getCache().getConfiguration().setNodeLockingScheme(NodeLockingScheme.PESSIMISTIC);, the test passes. If i use cache.getCache().getInvocationContext().getOptionOverrides().setForceWriteLock(true); instead, the test fails. If i use cache.getCache().getInvocationContext().getOptionOverrides().setForceWriteLock(true); | cache.getCache().getConfiguration().setWriteSkewCheck(true);, the test fails and JBC detects writeSkews. But what i want is not the read thread to fail, but to block until the write thread is over. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4256796#4256796 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4256796 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: how to lock a node for update?
ae wrote : | I have the same concern regarding the deprecated pessimistic locking. The JBC documents keeps talking about the benefit of mvcc, but failed to address this common use case. Support for it is even completely discontinued in the next version (Infinispan). This is a big issue for me as what we need is isolation semantics that work like java locks. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4256539#4256539 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4256539 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: Is this a lazy loading issue? (not CacheLoader)
Nobody? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4256387#4256387 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4256387 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: how to lock a node for update?
Have you trying using the pessimistic locking scheme? Try adding the following to your replSync-service.xml: attribute name=NodeLockingSchemePESSIMISTIC/attribute | attribute name=SyncCommitPhasetrue/attribute | attribute name=SyncRollbackPhasetrue/attribute | attribute name=IsolationLevelSERIALIZABLE/attribute It is the only way i have found to have select for update semantics (blocking reads), and it is deprecated.. See my post on a comparable topic: [url]http://www.jboss.org/index.html? module=bbop=viewtopicp=4254357#4254357[/url] I have no clue how to achieve the same thing with MVCC (or even if it is possible at all) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4256393#4256393 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4256393 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Re: how to lock a node for update?
Have you trying using the pessimistic locking scheme? Try adding the following to your replSync-service.xml: attribute name=NodeLockingSchemePESSIMISTIC/attribute | attribute name=SyncCommitPhasetrue/attribute | attribute name=SyncRollbackPhasetrue/attribute | attribute name=IsolationLevelSERIALIZABLE/attribute It is the only way i have found to have select for update semantics (blocking reads), and it is deprecated.. See my post on a comparable topic: http://www.jboss.org/index.html?module=bbop=viewtopicp=4254357#4254357 I have no clue how to achieve the same thing with MVCC, or even if it is at all possible. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4256394#4256394 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4256394 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Cache Users] - Is this a lazy loading issue? (not CacheLoader)
I think i'm having a lazy-loading issue: I have to JVMs: -one with JBossPOJOCache (JBPC henceforth) in local mode (not replicated). On this JVM i have a class TracksTableImpl that implements its service interface by acting on an instrumented JBPC pojo TracksTableJbpcDelegate (On second thought it looks more like a Core issue than a POJO one) -one with a unit test that updates the remote state via a service call (remoting doesn't use JBPC), and then checks that the state is correct in case of a commit then a rollback Server-side service: public class TracksTableImpl implements TracksTable, TracksTableServices | { | private TracksTableJbpcDelegate delegate = new TracksTableJbpcDelegate (); | | @Override | @Transactional | public void updateXY ( double x , double y , boolean failOnUpdateY ) | { | delegate.updateX ( x ); | if ( failOnUpdateY ) throw new TrackException (); | delegate.updateY ( y ); | } | | @Override | @Transactional | public Position getPosition() | { | return delegate.getPosition(); | } | } | Server-side, the JBPC POJO: @org.jboss.cache.pojo.annotation.Replicable | public class TracksTableJbpcDelegate | { | private ListReadWriteTrack tracks = new ArrayListReadWriteTrack (); | | public void updateX ( double x ) | { | ReadWriteKinematics k = getOrCreateReadWriteKinematics (); | k.getReadWritePosition().setX ( x ); | } | | public void updateY ( double y ) | { | ReadWriteKinematics k = getOrCreateReadWriteKinematics (); | k.getReadWritePosition().setY ( y ); | } | | public Position getPosition() | { | Position ret = getUniqueTrack ().getKinematics().getPosition(); | //System.out.println ( TracksTableJbpcDelegate/getPosition/ret.getX(): + ret.getX() ); | //Navigating ret.getX: correct, up-to-date result | //When commented: incorrect, rolled-back result | | return ret; | } | | public ReadWriteTrack getUniqueTrack() | { | if ( tracks.size() != 1 ) throw new IllegalStateException ( Cette methode ne peut etre appelee que si la liste contient un unique element ); | ReadWriteTrack ret = tracks.get ( 0 ); | //System.out.println ( TracksTableJbpcDelegate/getUniqueTrack/ret.getX(): + ret.getKinematics().getPosition().getX() ); | return ret; | } | } | Of course Position is also instrumented (@Replicable). Client side, the test: @Test | public void atomiciteUpdate3 () throws Exception | { | table.createTrack ( false ); | assertEquals ( 1 , table.size() ); | | final double X_OK=111d, Y_OK=222d, PRECISION=0.001d; | table.updateXY ( X_OK , Y_OK , false ); | assertEquals ( X_OK , table.getPosition().getX() , PRECISION ); | assertEquals ( Y_OK , table.getPosition().getY() , PRECISION ); | | try | { | final double X_KO=333d, Y_KO=444d; | table.updateXY ( X_KO , Y_KO , true ); | fail (); | } | catch ( Exception e ) {} | finally | { | assertEquals ( Y_OK , table.getPosition().getY() , PRECISION ); | assertEquals ( X_OK , table.getPosition().getX() , PRECISION ); | } | } When the argument failOnUpdateY of method TracksTableImpl updateXY is true, the transaction is rolled back. This works correctly, that isn't the issue. The issue is that when the bold underscored log is uncommented, the test passes, while it doesn't if it's commented. Plus the same test with JBPC and the test in the same JVM passes. Thus, i think i'm having a lazy-loading issue: when i call getX server-side before sending the response to the client, it works because i have just forced the state to be reloaded by navigating the getX relation. When the test and JBPC are in the same JVM, the test passes because lazy-loading can work in this case (i'm not detached to use a Hibernate analogy) But when the test is remote AND i don't navigate the relation, i'm detached and lazy-loading can't work (unlike Hibernate i don't get LazyInitializationException though, i just silently get an incorrect state). So my question is: -is it a lazy-loading issue? -if so how do i specify to JBPC that i want eager-loading on serialization? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4255587#4255587 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4255587 ___ jboss-user
[jboss-user] [JBoss Messaging Users] - Re: Possible transaction scopes for asynchronous reception?
Any idea? I get the feeling that the real problem is an incompatibility between asynchronicity and the propagation of the transaction context but it is an impossibility or something i'm unfamiliar with? And is this incompatibility specific to JMS or more general? After all the transaction context is propagated to a different thread (from the client thread to the server thread) by rmi during a remote transactional invocation, so it doesn't have to be strictly thread-local. On the other hand even in the EJB 3.1 spec, it is mentioned that for the new @Asynchronous methods, the transaction context will not be propagated from the caller to the callee. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4254653#4254653 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4254653 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging Users] - Possible transaction scopes for asynchronous reception?
Producer-side, several messages can be grouped in a single transaction. But consumer-side, is it possible to have (another) transaction span the consumption of the same set of messages? What are the possible transaction scopes for asynchronous reception? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4253561#4253561 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4253561 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging Users] - Re: Possible transaction scopes for asynchronous reception?
gaohoward wrote : in JMS, the producer and consumer are separate. So you are free to define a transaction boundary for the messages regardless the producer side. | Hopefully my answer to ataylor makes what i want to do a bit clearer. I know it is possible to define the transaction boundary consumer-side (you need to use BMT in you MDB). But since in my example the 2 onMessage executions would happen in a different thread, wouldn't it be impossible for them to happen in the same transaction? gaohoward wrote : | don't quite understand your second question, can you explain it a bit more? | For instance can 2 onMessages (different threads) execute in a single transaction? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4253605#4253605 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4253605 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging Users] - Re: Possible transaction scopes for asynchronous reception?
Sorry my question wasn't very clear. I know that it isn't possible to produce and consume a message in the same transaction. What i want to do is this: If N messages have been produced in a single transaction T_prod, i want them to be consumed in a single transaction T_cons. T_prod and T_cons don't have to be the same, i know that's not possible. ataylor wrote : I'm not sure i understand your question. when you say 'consumption of the same set of messages' do you mean from a topic. | If so the each consumer can consumer the messages within its own transaction. The transaction covers the delivery of the messages not the message itself. Yes, i'm talking about a topic. Let's say that the producer posts 2 messages, in a transaction (let's call it T_prod). Let's say the consumer is a MDB: with Container Managed Transaction, each onMessage will execute in a new transaction, independant from T_prod. What i'm wondering is whether it's possible, by using Bean Managed Transaction in the MDB, to get the 2 onMessage calls to execute within a single transaction. I'm thinking of a pattern like this: -Producer side: put the T_prod transaction id in the message header -Consumer side: read the transaction id to determine if the message is the first to be recieved from T_prod, manually start and commit View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4253602#4253602 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4253602 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: What is the correct object to hold in an EJB for transac
Nobody has any idea? It is a bit short to just say recreating the session from the sessionFactory is an anti-pattern.. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4239207#4239207 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4239207 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: What is the correct object to hold in an EJB for transac
When i say how so i mean for instance with respect to JTA transactions (does the choice of the held JMS object granularity have unexpected impacts on transaction behaviour, can i hold a Session but not a MessageProducer etc..). View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4238582#4238582 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4238582 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - What is the correct object to hold in an EJB for transaction
It is often said here (for good reason) that creating a JMS connection per request is an anti-pattern, but there is something i'm not quite clear about. Should i maintain in my EJBs a reference to a session, a message producer, something else? With a persistence unit in a Stateless, the transaction is per request and the persistence context is per request too (after that the entities are detached from the session). So if i translate this from JPA to JMS and JBM, shouldn't the session be in the same scope as the transaction? But if in a Stateless i hold a reference to a JMS session, for instance created from the ConnectionFactory in a PostConstruct method, that session will last longer than the request because the EJB is pooled (and if wasn't there would be no point in holding the Session rather than the SessionFactory) But then the JMS interfaces are ConnectionFactory not SessionFactory so maybe they are more like JDBC connections and if so how? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4238581#4238581 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4238581 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Completely confused by client failover
I only get this WARN during the failover so it shouldn't be a problem. I found a solution for my missed remote client failover: now the remaining node (which is notified of the cluster topology change) waits 10 seconds before posting the message on the LostNode topic. It looks like i was posting the message during the failover, and that that was why the client couldn't receive it. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4238184#4238184 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4238184 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Completely confused by client failover
Thanks for all the answers, it leaves us with just the failover failure then :) Meanwhile i'm going to checkout the examples. gaohoward wrote : | Did you have any error log when the failover not happening? | No, no error stack anywhere. Here is a more precise test, where -both server nodes are initially completely started -the client is then started -one of the nodes is killed Observed behaviour: 1/ If the node killed is NOT the node where the topic subscription was pointing to: No failover required, the message is always received by the client 2/ The node killed IS the node where the topic subscription was pointing to: Failover required, the message is received by the client about half the time. Even when the client isn't notified, the MDB that listens to that same topic ALWAYS receives the message (so it is sent correctly). No stack whatsoever (in particular no JMSException:closed connection in the client which DOES happen if in the server failoverOnNodeLeave=false) Remarks that might help: -i have ClusteredConnectionFactoryName in messaging-service.xml commented out -i receive JBM warnings which might be related? WARN [SimpleConnectionManager] A problem has been detected with the connection to remote client 3j011-7h2pwj-fw0ewfv0-1-fw0ezfni-nc, jmsClientID=null. It is possible the client has exited without closing its connection(s) or the network has failed. All associated connection resources will be cleaned up. Here is the server stack of the remaining node, in the failure case: 8:11,225 INFO [STDOUT] [org.jboss.cache.RPCManagerImpl][Incoming-7,192.168.0.1:40045] - Received new cluster view: [10.27.252.164:41988|2] [192.168.0.1:40045] | 11:58:16,559 INFO [STDOUT] [com.navineo.hora.jmx.ha.taches.MoteurAlarmesCentre][Incoming-19,192.168.0.1:40045] - isNotificationEnabled/START | 11:58:16,566 INFO [ControleurLocalTachesEgoistes] PAS DE USERDATA | 11:58:16,583 INFO [ControleurLocalTachesEgoistes] PAS DE USERDATA | 11:58:16,653 INFO [MembershipListenerHAS] getCluster/partitionName: P_CLA1 | 11:58:16,795 INFO [RPCManagerImpl] Received new cluster view: [10.27.252.164:41988|2] [192.168.0.1:40045] | 11:58:16,822 INFO [P_CLA1] New cluster view for partition P_CLA1 (id: 2, delta: -1) : [192.168.0.1:1099] | 11:58:16,825 INFO [P_CLA1] I am (192.168.0.1:1099) received membershipChanged event: | 11:58:16,825 INFO [P_CLA1] Dead members: 1 ([10.27.252.164:1099]) | 11:58:16,825 INFO [P_CLA1] New Members : 0 ([]) | 11:58:16,825 INFO [P_CLA1] All Members : 1 ([192.168.0.1:1099]) | 11:58:16,843 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - membershipChanged/DEBUT [ deadMembers=[10.27.252.164:1099] , newMembers=[] , allMembers=[192.168.0.1:1099] ] | 11:58:16,843 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - membershipChanged [ deadMembers=[10.27.252.164:1099] , newMembers=[] , allMembers=[192.168.0.1:1099] ] | 11:58:16,843 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - membershipChanged/this: com.navineo.sa.jmx.ha.taches.controleur.controleurcentraltachesegoistes$tachesegoistesmembershipliste...@1d496c7 | 11:58:16,844 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - membershipChanged/ControleurCentralTachesEgoistes.this: com.navineo.sa.jmx.ha.taches.controleur.controleurcentraltachesegois...@1f6f638 | 11:58:16,847 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - TopologieChangeEvent [ nbDead=1 , nbNew=0 , nbAll=1 ] | dead: NoeudCluster[10.27.252.164:41988] | all: NoeudCluster[192.168.0.1:40045] | 11:58:17,842 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - trouveTachesEgoistes/egoistes: EnsembleDesTachesEgoistes [ size=6 , egoistes= { NAVINEO.SA:service=ComEmbarques , NAVINEO.HORA:service=MoteurAlarmesCentre_DEFAULT_CE , NAVINEO.HORA:service=MoteurSuivi_DEFAULT_CE , NAVINEO.SA:service=ActivationVersions , NAVINEO.HORA:service=MoteurAlarmesSite , NAVINEO.SA:service=FTPFileSucker_DEFAULT_CE } ] | 11:58:17,842 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.controleur.ControleurCentralTachesEgoistes][AsynchViewChangeHandler Thread] - EnsembleDesTachesEgoistes [ size=6 , egoistes= { NAVINEO.SA:service=ComEmbarques , NAVINEO.HORA:service=MoteurAlarmesCentre_DEFAULT_CE , NAVINEO.HORA:service=MoteurSuivi_DEFAULT_CE , NAVINEO.SA:service=ActivationVersions , NAVINEO.HORA:service=MoteurAlarmesSite , NAVINEO.SA:service=FTPFileSucker_DEFAULT_CE } ] | 11:58:17,843 INFO [STDOUT]
[jboss-user] [JBoss Messaging] - Completely confused by client failover
First i will explain my use case so that you can get a general sense of what i'm trying to do: 1/ Use case I have a clustered JBoss 5.1.0 ear application (with default JBM so 1.4?). A Swing application is connected to both nodes and receives JMS notifications via a ClusteredXAConnectionFactory. When one of of the nodes fails, the other detects the change in topology and posts a LostNode message on a topic which the client listens to. 2/ Problem The failover sometimes works, sometimes not (maybe depending on which node the connection was last pointing to?) 3/ Things i'm confused about: * The FailoverOnNodeLeave attribute in oracle-persistence-service.xml. From what i read it forces same failover on Ctrl-C as on brutal kill-9 or crash? * Do i have to do anything in the client (interceptor, exception listener,...)? I'm getting mixed messages, so is the failover transparent or not? If it's not, what do i need to do (the connection is injected via Spring if it makes any difference) * Does specifying ClusteredXAConnectionFactory/ClusteredConnectionFactory/others in the client make any difference? I don't see what XA or not would change for a remote client but i could be horribly wrong? Any examples of a transparently reconnecting client? I see only xml files in the JBoss messaging examples directory? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4237704#4237704 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4237704 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - SuckerPassword ignored?
Migrating from JBM on 4.2.3 to JBM on 5.1.0, the SuckerPassword (i'm in a cluster) seems to be ignored? Even after specifying it, i still have the 10:32:04,199 WARN [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. | It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. | Please see the JBoss Messaging user guide for instructions on how to do this. message. My messaging-service.xml does include attribute name=SuckerPasswordtoto954763/attribute, and it worked fine on 4.2.3 View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4236936#4236936 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4236936 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: SuckerPassword ignored?
Thanks, works like a charm View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4237018#4237018 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4237018 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Microcontainer] - Fastest way to migrate mbean services (with dependencies) to
I'm trying to migrate our ear application from JBoss 4.2.3GA to 5.1.0GA. The problem is that it looks like the microcontainer seems to ignore the depends relationships specified in META-INF/jboss-service.xml I don't want to use POJO services for now (unless i absolutely have to), i just want to make the dependencies work as fast as possible. I didn't see anything specifically about this problem in the forums or wiki so any ideas? From what i read i guess (but i might be wrong) that by default MC is considering my depends satisfied when the bean depended on is created, not when it is fully started. How and where to specify that i want the same dependencies as on JBoss 4? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4234625#4234625 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4234625 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Microcontainer] - Re: Fastest way to migrate mbean services (with dependencies
Well spotted. I had started (but not finished) to adapt the ObjectNames since i saw they changed. After changing to jboss.j2ee:ear=Navineo.ear,jar=[XXX.jar],service=EJB3 eveywhere, it still fails in exactly the same way. For instance, the dependencies of NAVINEO.Dock:service=ModuleHORA are still unresolved: Deployment NAVINEO.Dock:service=ModuleHORA is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3' **) | Dependency NAVINEO.HORA:service=NoeudsPrets (should be in state Create, but is actually in state Configured) | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleHORA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleHORA.jar,service=EJB3' **) If we look at the DEPLOYMENTS IN ERROR: at the end of the log, there is something interesting: the modules all fail to deploy as if there was a circular dependency: Deployment jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3' ** The NavineoDock module's jboss-service.xml doesn't explicitly declare this mbean, but it does declare dependencies towards it: ?xml version=1.0? | server | mbean code=com.navineo.dock.jmx.ModuleManagement | name=NAVINEO.Dock:service=ModuleManagement | xmbean-dd=META-INF/ModuleManagement-xmbean.xml | depends | jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 | /depends | depends | jboss:service=Naming | /depends | /mbean | mbean code=com.navineo.dock.jmx.Parameter | name=NAVINEO.Dock:service=Parameter | xmbean-dd=META-INF/Parameter-xmbean.xml | depends | jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 | /depends | /mbean | mbean code=com.navineo.dock.jmx.ConsolidationImpactsDonnees |name=NAVINEO.Dock:service=ConsolidationImpactsDonnees | depends | jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 | /depends | depends | jboss:service=Naming | /depends | /mbean | /server | I don't remember why we explicitly declared dependencies towards the EJB3 service, probably in some cases the services started before the EJB3 were deployed. Maybe removing this dependency (and hoping the services don't start before the EJBs are ready) would help, but maybe it is something completely different. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4234679#4234679 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4234679 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Microcontainer] - Re: Fastest way to migrate mbean services (with dependencies
By the way after the startup the EJB3 service does exists in the JMX console, with name jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3. So it isn't a name problem at least for this one. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4234681#4234681 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4234681 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Microcontainer] - Re: Fastest way to migrate mbean services (with dependencies
After a bit of testing: 1/ Removing the dependency towards jboss.j2ee:module=NavineoDock.jar,service=EJB3 eliminates the failure Deployment jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3 is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=NavineoDock.jar,service=EJB3' ** --Conclusion: depends towards the module's EJB3 service seems to cause a circularity error? It didn't in JBoss4. 2/ After that i removed in all modules the depends pointing towards the modules' EJB3 services: indeed the EJB3 service isn't started completely by the time my business mbeans start (stacks about unknown jdbc connections) --Conclusion: brutally removing all EJB3 service depends doesn't work View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4234694#4234694 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4234694 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Invocation of startSingleton()
Seems to be corrected in 5.1.0GA (works with attribute name=HAPartitioninject bean=HAPartition//attribute) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4234754#4234754 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4234754 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Microcontainer] - Re: Fastest way to migrate mbean services (with dependencies
I did a bit of cleanup (injecting the HAPartition ala JBoss5) to only have this one problem, but it still fails in exactly the same way. DEPLOYMENTS MISSING DEPENDENCIES: | Deployment NAVINEO.Dock:service=ModuleHORA is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.Dock:service=ModuleIVV is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleTOPO (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.Dock:service=ModuleSA is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.Dock:service=ModuleStatVL is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleTOPO (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.Dock:service=ModuleTOPO is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.HORA:service=DispatcheurAlarmes is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.HORA:service=ImportFichiersNeutres is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleHORA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=ImportGescar is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleHORA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=InstantiateurFTPFileSucker is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=InstantiateurMoteurAlarmesCentre is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=InstantiateurMoteurAlarmesSite is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=InstantiateurMoteurSuivi is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.HORA:service=SimulateurTR is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleHORA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.SA:service=ConfigEquipement is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.SA:service=DonneesDiverses is missing the following dependencies: | Dependency jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 (should be in state Create, but is actually in state ** NOT FOUND Depends on 'jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3' **) | Deployment NAVINEO.SA:service=InstantiateurActivationVersions is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.SA:service=InstantiateurComEmbarques is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.SA:service=InstantiateurDummyTacheEgoiste1 is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | Deployment NAVINEO.SA:service=InstantiateurDummyTacheEgoiste2 is missing the following dependencies: | Dependency NAVINEO.Dock:service=ModuleSA (should be in state Create, but is actually in state Configured) | | DEPLOYMENTS IN ERROR: | Deployment jboss.j2ee:ear=Navineo.ear,jar=ModuleSA.jar,service=EJB3 is in error due to the following reason(s):
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
I have tried reverting back the order out of curiosity, and it still works. Then i promptly put your order back :) (just in case) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4224737#4224737 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4224737 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
I have tried removing the following directories of my all server: temp,work,data. It worked! I no longer have the periodic warning. Maybe the data directory contained old transaction data that couldn't be recovered because the list and definitions of destinations has changed. Thanks for your help. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4224270#4224270 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4224270 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
I have tried changing the order, it doesn't change anything. I have no errors in the log files, and the only other warning is2009-04-07 11:16:13,480 WARN [com.arjuna.ats.jbossatx.jta.TransactionManagerService] XAExceptionFormatters are not supported by the JBossTS Transaction Service - this warning can safely be ignored I have absolutely no clue what to do about it but it doesn't sound healthy. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4223957#4223957 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4223957 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
In case my last sentece was confusing I meant what sounds unhealthy isn't the XAExceptionFor matters are not supported by the JBossTS Transaction Service - this warning can safely be ignored but the fact that some unknown stuff failed to be serialized. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4223959#4223959 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4223959 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
I already have these parameters, here is my jbossjta-properties.xml: ?xml version=1.0 encoding=UTF-8? | transaction-service | properties depends=common name=arjuna | !-- | Transaction Reaper Timeout (default is 12 ms). | -- | property | name=com.arjuna.ats.arjuna.coordinator.txReaperTimeout value=12/ | !-- | Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL). | -- | property name=com.arjuna.ats.arjuna.coordinator.txReaperMode value=DYNAMIC/ | !-- | (default is NO) | -- | property name=com.arjuna.ats.arjuna.coordinator.asyncCommit value=NO/ | !-- | (default is NO) | -- | property name=com.arjuna.ats.arjuna.coordinator.asyncPrepare value=NO/ | !-- | (default is YES) | -- | property | name=com.arjuna.ats.arjuna.coordinator.commitOnePhase value=YES/ | !-- | (default is defaultStore) | -- | property name=com.arjuna.ats.arjuna.objectstore.localOSRoot value=defaultStore/ | !-- | default is under user.home - must be writeable!) | -- | property | name=com.arjuna.ats.arjuna.objectstore.objectStoreDir value=PutObjectStoreDirHere/ | !-- | (default is ON) | -- | property | name=com.arjuna.ats.arjuna.objectstore.objectStoreSync value=ON/ | !-- | (default is ShadowNoFileLockStore) | -- | property | name=com.arjuna.ats.arjuna.objectstore.objectStoreType value=ShadowNoFileLockStore/ | !-- | (default is 255) | -- | property | name=com.arjuna.ats.arjuna.objectstore.hashedDirectories value=255/ | !-- | (default is ON) | -- | property | name=com.arjuna.ats.arjuna.objectstore.transactionSync value=ON/ | !-- | (Must be unique across all Arjuna instances.) | -- | property name=com.arjuna.ats.arjuna.xa.nodeIdentifier value=1/ | !-- property | name=com.arjuna.ats.arjuna.coordinator.actionStore | value=HashedActionStore | value=JDBCActionStore | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess | value=JDBCAccess | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.objectStoreType | value=ShadowNoFileLockStore | value=JDBCStore | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess | value=JDBCAccess | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial | value=1 | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum | value=1 | -- | !-- property | name=com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections | value=false | -- | !-- property | name=com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size | value= | -- | !-- property | name=com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period | value= | -- | !-- | The location for creating temporary files, e.g., Uids. | Default is under user.home. | IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix | may not be! | -- | !-- | property | name=com.arjuna.ats.arjuna.common.varDir | value=var/ | -- | /properties | properties name=common | !-- CLF 2.0 properties -- | property name=com.arjuna.common.util.logging.DebugLevel | type=System value=0x/ | property name=com.arjuna.common.util.logging.FacilityLevel | type=System value=0x/ | property name=com.arjuna.common.util.logging.VisibilityLevel | type=System value=0x/ | property name=com.arjuna.common.util.logger type=System value=log4j/ | /properties | properties depends=arjuna name=txoj | !-- | (default is LockStore of installation - must be writeable!) | -- | !-- | property | name=com.arjuna.ats.txoj.lockstore.lockStoreDir | value=LockStore/ | -- | !-- | (default is BasicLockStore) | -- | property name=com.arjuna.ats.txoj.lockstore.lockStoreType value=BasicLockStore/ | !-- | (default is NO) | -- |
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
Here is the complete warning: | WARN [loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource 131075, 28, 26, 1-7f000101:df6e:496776d2:5977f000101:df6e:496776d2:5a4 | View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4222516#4222516 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4222516 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
Thanks, well that's one more reason to try JBoss5 i suppose. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4222517#4222517 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4222517 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
On second thought I'm not sure that was what you were asking.. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4222602#4222602 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4222602 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
Ah that was what you meant. It wasn't my thread, but browsing the wiki and forum it seemed to be a recurring theme. Anyway this links has an explanation that seems convincing to me, but it didn't work (even with one node): http://www.jboss.org/community/docs/DOC-13171#comment-1301 View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4222685#4222685 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4222685 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Deploying an EJB3 MDB as stopped?
I mean using the standard start/stop methods on the MDB works, but the DeliveryActive attribute doesn't. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4221905#4221905 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4221905 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Could not find new XAResource to use for recovering non-
No ideas? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4221926#4221926 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4221926 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Deploying an EJB3 MDB as stopped?
Any idea? I have the exact same problem. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4221897#4221897 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4221897 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
Alright i must have done something wrong yesterday, i tried again and the example works. I still cant manage to manage my MDB though(which was the objective i had). _WORKS_ Management interface | package com.navineo.sa.ejb.session; | import org.jboss.annotation.ejb.Management; | | @Management | public interface ServiceOneManagement | { |void setAttribute(int attribute); |int getAttribute(); |String sayHello(); | |void create() throws Exception; |void start() throws Exception; |void stop(); |void destroy(); | } And the SLSB: | package com.navineo.sa.ejb.session; | | import javax.ejb.Remote; | | import org.jboss.annotation.ejb.Service; | | | @Service (objectName = jboss:custom=Name) | @Remote(ServiceOneRemote.class) | public class ServiceOne implements ServiceOneRemote, ServiceOneManagement | { |int attribute; | |public void setAttribute(int attribute) |{ | this.attribute = attribute; |} | |public int getAttribute() |{ | return this.attribute; |} | |public String sayHello() |{ | return Hello from service One; |} | |// Lifecycle methods |public void create() throws Exception |{ | System.out.println(ServiceOne - Creating); |} | |public void start() throws Exception |{ | System.out.println(ServiceOne - Starting); |} | |public void stop() |{ | System.out.println(ServiceOne - Stopping); |} | |public void destroy() |{ | System.out.println(ServiceOne - Destroying); |} | } | It implements the Remote interface: | package com.navineo.sa.ejb.session; | | public interface ServiceOneRemote | { |public void setAttribute(int attribute); |public int getAttribute(); | } | An MBean with the objectName = jboss:custom=Name is indeed created. DOESN'T WORK: | package com.navineo.hora.ejb.mdb; | | import javax.annotation.Resource; | import javax.ejb.ActivationConfigProperty; | import javax.ejb.EJB; | import javax.ejb.MessageDriven; | import javax.ejb.TransactionAttribute; | import javax.ejb.TransactionAttributeType; | import javax.jms.JMSException; | import javax.jms.Message; | import javax.jms.MessageListener; | import javax.jms.ObjectMessage; | import javax.jms.Topic; | import javax.jms.TopicConnectionFactory; | | import org.apache.log4j.LogManager; | import org.apache.log4j.Logger; | import org.jboss.annotation.ejb.Clustered; | import org.jboss.annotation.ejb.Service; | | import com.navineo.dock.ejb.session.JMSTopicManager; | import com.navineo.hora.ejb.session.suivi.ISuiviControleurDonneesTRFacadeLocal; | import com.navineo.hora.ejb.session.suivi.gses.GestionDeServiceFacadeLocal; | import com.navineo.hora.ejb.session.suivi.localisation.GestionLocalisationFacadeLocal; | import com.navineo.hora.impacts.suivi.ImpactsDonneesSuivi; | import com.navineo.sa.bo.message.EnumMessage; | import com.navineo.sa.bo.message.GSDemandeVacation; | import com.navineo.sa.bo.message.GSEtatService; | import com.navineo.sa.bo.message.GSFinExploitationVehicule; | import com.navineo.sa.bo.message.LocEtat; | import com.navineo.sa.bo.message.LocValeur; | import com.navineo.sa.ejb.mdb.DepuisEmbarqueMDBManagement; | import com.navineo.sa.util.common.IObjectExchange; | import com.navineo.sa.util.common.MessageVehicule; | | | @Service (objectName = jboss:custom=NameXXX) | @MessageDriven (activationConfig={ | @ActivationConfigProperty(propertyName=destinationType, propertyValue=javax.jms.Topic), | @ActivationConfigProperty(propertyName=destination, propertyValue=topic/DepuisEmbarqueDestination), | @ActivationConfigProperty(propertyName=acknowledgeMode, propertyValue=Auto-Acknowledge) | //,@ActivationConfigProperty(propertyName = maxSession, propertyValue = 1) | },messageListenerInterface=MessageListener.class | ) | @Clustered | @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) | //@Service (objectName = NAVINEO.SA:service=FFF)//CLA On met SA meme si des raisons de dependances font qu'il est dans HORA | //@PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=1, timeout=5000) | public class DepuisEmbarqueMDB /*extends ComEmbarquesMDBManagement*/ implements MessageListener, DepuisEmbarqueMDBManagement | { | private transient Logger log = LogManager.getLogger(SA.ejb.DepuisEmbarqueMDB); | | @EJB | private GestionDeServiceFacadeLocal gestionDeServiceTRFacade; | | @EJB | private GestionLocalisationFacadeLocal gestionLocalisationFacade; | | @EJB | private ISuiviControleurDonneesTRFacadeLocal suiviControleurDonneesTRFacade; | | /** | * Topic JMS | */ |
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
The debug output is too big to be posted here, i put it on rapidshare: http://rapidshare.com/files/213262254/DEBUG_output.html View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220826#4220826 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220826 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
I want to expose a setActive(boolean) management on the MDB to programmatically activate or desactivate it. If !active, onMessage would do nothing. So @Service doesn't work on a MDB? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220828#4220828 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220828 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
Sorry i don't see any edit message button. I think i'm just going to call an MBean that has the isActive method from the MDB's onMessage instead, and replace the impossible call to the MDB management by a call to the MBean's setActive. Or would that be bad practice? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220830#4220830 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220830 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
Well you're right it would certainly be better not to waste resources moving around messages that will never be used, if i had a way to deactivate the MDB/unplug it from the topic. Is it possible? My use case is a bit special because the destination this MDB used to listen to was a queue, which was fine since the message had to be consumed on only one node of the cluster. But meanwhile it has appeared that a queue won't do since some new unit test MDPs also listen to this destination. Of course if it's a queue the message can only be consumed once so the test isn't notified and fails. But if it's a standard topic, the MDB will use it on all nodes which isn't right either. So my idea was to use a topic and activate/deactivate the MDB. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220846#4220846 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220846 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
I'm using JBoss 4.2.3.GA (with JBM 1.4.2.GA-SP1 if it changes anything) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220877#4220877 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220877 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
JBoss 4.2.3.GA View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220900#4220900 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220900 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
Ah it works! Thanks a lot, i hadn't thought of using the standard start/stop method of the MDB's MBean. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220948#4220948 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220948 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
One more thing while you're here, what is the cleanest way to have the MDB inactive on startup? So that it's start/stop is entirely controlled by my explicit calls to the MBean. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220957#4220957 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220957 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Re: Can't get @Service to work
jaikiran wrote : | You mean to avoid messages from being delivered during the startup of JBoss (while your MDB hasn't yet started)? Look for DeliveryActive on this wiki http://www.jboss.org/community/docs/DOC-9334 Not exactly, i mean that i want it to never start unless i call start on the MDB's MBean (the one you pointed me to). In other words i want it to start as inactive, and programmatically call start/stop. I tried using DeliveryActive but it says the property doesn't exist? This seems to be somewhat of a recurring theme in the JIRA links my googling found, that's why i thought i would ask you if there was another way, or something to do about making DeliveryActive work. The stack: org.jboss.deployment.DeploymentException: Error for ActivationSpec class org.jboss.resource.adapter.jms.inflow.JmsActivationSpec as JavaBean; - nested throwable: (java.beans.IntrospectionException: No property found for: DeliveryActive on JavaBean: org.jboss.resource.adapter.jms.inflow.jmsactivations...@2975fa(ra=null destination=topic/NoeudsPerdusDestination isTopic=true tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=6 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)) View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220987#4220987 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220987 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Could not find new XAResource to use for recovering non-seri
Sorry about yet another thread about this warning, but i edited jbossjta-properties as indicated in the wiki, to no avail. property |name=com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1 | value=org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/DefaultJMSProvider/ I'm using JBoss 4.2.3.GA and JBM 1.4.2.GA-SP1 The warning occurs even with only one node in the cluster. Starting JBoss with an empty JBM database and doing nothing, i still get the warning periodically. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220533#4220533 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220533 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [EJB 3.0] - Can't get @Service to work
Even deploying the provided example (http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/jboss_extensions.html#d0e375), no MBean with the specified objectName is ever created. No stack either, not even a WARN or suspicious looking DEBUG. @Service (objectName = jboss:custom=Name I'm using JBoss 4.2.3GA. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4220616#4220616 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4220616 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: JBM clustering: jboss.messaging.groupname ignored?
Thanks for the link, it helped a lot! It didn't work with just changing the udp address, but it did work with the whole (groupname,groupaddress,groupport) configuration: NODE 1 ./run.sh -c all -b [IP1] -u 233.0.0.5 -Djboss.partition.name=P_CLA1 -Djboss.messaging.groupname=G_CLA1 -Djboss.messaging.ServerPeerID=1 -Djboss.messaging.datachanneludpport=45567 -Djboss.messaging.controlchanneludpport=45568 NODE 2 ./run.sh -c all2 -b [IP2] -u 233.0.0.6 -Djboss.partition.name=P_CLA2 -Djboss.messaging.groupname=G_CLA2 -Djboss.messaging.ServerPeerID=1 -Djboss.messaging.datachanneludpport=45667 -Djboss.messaging.controlchanneludpport=45668 View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4219920#4219920 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4219920 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - JBM clustering: jboss.messaging.groupname ignored?
What i want to do: I'm using JBM 1.4.2.GA-SP1 in JBoss 4.2.3.GA, in a clustered configuration. I want to have 2 clusters on the same local network (with automatic discovery), so i thought of using the -g launch argument or its JBM equivalent (which seems to be -Djboss.messaging.groupname) Here is my problem: While the general JBoss clustering mechanism of using different -g values to specify different Partitions works fine (nodes launched with different -g effectively join separate and isolated partitions, this isn't the case with JBM: all nodes launched on the same local network (where discovery works) always join the same JBM Group, ignoring the different launch argument. Also there is something i don't understand: do i have to specify BOTH the partition and the group? It seems redundant but maybe i'm missing something. Here are my launch arguments for both nodes (the intent is to have 2 separate clusters): NODE 1: | run.sh -c all -g Partition1 -b[IP1] -Djboss.messaging.groupname=Groupe1 -Djboss.messaging.ServerPeerID=1 | NODE 2: | run.sh -c all2 -g Partition2 -b[IP2] -Djboss.messaging.groupname=Groupe2 -Djboss.messaging.ServerPeerID=1 | --If i use ServerPeerID=1 for the second node the startup fails, which is consistent since both nodes are considered to be in the same messaging group. --If i use ServerPeerID=2 for the second node the startup successes, but then i receive messages from one partition on the other (which is also consistent with the fact that both nodes are considered to be in the same messaging group). Here are the startup logs i see in this case on the two nodes (Node1 is started completely before Node2 is launched): [...] Node1: //Note: here is the Partition log: | 17:45:21,317 INFO [PartitionNavineoCLA_1] Number of cluster members: 1 | 17:45:21,317 INFO [PartitionNavineoCLA_1] Other members: 0 | 17:45:21,317 INFO [PartitionNavineoCLA_1] Fetching state (will wait for 3 milliseconds): | 17:45:21,317 INFO [PartitionNavineoCLA_1] State could not be retrieved (we are the first member in group) | [...] | //Note: here is the JBM log: | 17:45:39,757 INFO [GroupMember] org.jboss.messaging.core.impl.postoffice.groupmember$controlmembershipliste...@89e0c6 got new view [[IP1]:52366|0] [[IP1]:52366], old view is null | 17:45:39,757 INFO [GroupMember] I am ([IP1]:52366) | 17:45:39,758 INFO [GroupMember] New Members : 1 ([[IP1]:52366]) | 17:45:39,758 INFO [GroupMember] All Members : 1 ([[IP1]:52366]) | 17:45:39,761 INFO [MPING] sockets will use interface [IP1] | 17:45:39,771 INFO [ConnectionTable] server socket created on [IP1]:7900 [...] Node2: [...] //Note: here is the Partition log: (which shows that the partitions are separate) | 18:12:43,466 WARN [UDP] discarded message from different group Tomcat-PartitionNavineoCLA_1 (our group is Tomcat-PartitionNavineoCLA_2). Sender was [IP1]:53378 | 18:12:43,507 WARN [UDP] discarded message from different group Tomcat-PartitionNavineoCLA_1 (our group is Tomcat-PartitionNavineoCLA_2). Sender was [IP1]:53378 | 18:12:48,945 WARN [UDP] discarded message from different group PartitionNavineoCLA_1 (our group is PartitionNavineoCLA_2). Sender was [IP1]:42374 | 18:12:49,945 WARN [UDP] discarded message from different group PartitionNavineoCLA_1 (our group is PartitionNavineoCLA_2). Sender was [IP1]:42374 | 18:13:02,902 INFO [PartitionNavineoCLA_2] Number of cluster members: 1 | 18:13:02,902 INFO [PartitionNavineoCLA_2] Other members: 0 | 18:13:02,902 INFO [PartitionNavineoCLA_2] Fetching state (will wait for 3 milliseconds): | 18:13:02,902 INFO [PartitionNavineoCLA_2] State could not be retrieved (we are the first member in group) | [...] | //Note: here is the JBM log (which shows that the JBM groups are NOT separate): | 18:13:16,818 INFO [GroupMember] org.jboss.messaging.core.impl.postoffice.groupmember$controlmembershipliste...@1e13ce3 got new view [[IP1]:52366|1] [[IP1]:52366, [IP2]:37550], old view is null | 18:13:16,818 INFO [GroupMember] I am ([IP2]:37550) | 18:13:16,818 INFO [GroupMember] New Members : 2 ([[IP1]:52366, [IP2]:37550]) | 18:13:16,818 INFO [GroupMember] All Members : 2 ([[IP1]:52366, [IP2]:37550]) | 18:13:17,150 INFO [STATE_TRANSFER] Successful flush at [IP2]:37550 | 18:13:17,495 INFO [MPING] sockets will use interface [IP2] | 18:13:17,529 INFO [ConnectionTable] server socket created on [IP2]:7900 | [...] | NB: i also tried a groupname argument with the same value as the -g, but it didn't change anything. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4219587#4219587 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4219587 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Classloading failure in a new thread started from the cl
Thanks for your help, i tried using Thread.currentThread().setContextClassLoader ( DummyTacheEgoiste1HAS.class.getClassLoader() ); and it works even if put again the isolation parametrer. Can't believe i didn't think about it with the more complicated stuff i tried, oh well. I have already read those looks but now that i know it works like this i'm going to read it again. cheers View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4209521#4209521 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4209521 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Classloading failure in a new thread started from the cl
Thread.setContextClassLoader() What is the correct way to get a handle to the application ClassLoader (ear ClassLoader)? I couldn't find the info anywhere. I also tried to use | UnifiedClassLoader ucl = (UnifiedClassLoader) Thread.currentThread().getContextClassLoader(); | String earPath = file:/opt/jboss-4.2.3.GA/server/all/deploy/[MyApplication].ear; | URL earURL = new URL ( earPath ); | ucl.addURL ( earURL ); | but to no avail (the UCl's URL property was still null no matter what). Also is there an intrinsic problem with not using the loader-repository parameter? Outside of the fact you can't specify isolation of course but if you don't is it a bad practice? Maybe it doesn't do what i think it does? From the wiki this specifies Isolation with Overriding Server Classes so it seems to me to mean that the Seam application overrides server classes, that is classes that are in the ear are always loaded from there even if they exist in upper classloaders. But why does it do anything to the classloading of classes not in the Seam application? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4208506#4208506 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4208506 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Classloading failure in a new thread started from the cl
When it works, the ClassLoader used is: | getClassLoader: org.jboss.mx.loading.unifiedclassload...@1d2300e{ url=file:/opt/jboss-4.2.3.GA/server/all/tmp/deploy/tmp7477Navineo.ear ,addedOrder=45} When it fails, the ClassLoader used is: | DummyTacheEgoiste1HAS/getClassLoader: org.jboss.mx.loading.unifiedclassload...@183d59c{ url=null ,addedOrder=20} The problem is obviously that url=null so the ear classes are unknown. But what can i do about it? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4207619#4207619 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4207619 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Classloading failure in a new thread started from the cl
I have found a way to make it work, but i still don't understand what happens. Our ear has a jboss-app.xml, which contained the following: loader-repository | seam.jboss.org:loader=navineo.ear | loader-repository-config | java2ParentDelegation=false | /loader-repository-config | /loader-repository (we have a small Seam application in the ear) If i comment this it works but the UCL's url property is still null, so i was wrong that it was the cause. I have read the doc and wiki about classloader isolation but i still don't get why it changes anything in my case since i only have 1 ear and i cold-deploy everything. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4207782#4207782 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4207782 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Classloading failure in a new thread started from the cluste
Here is what i do: 1/ I'm notified of a topology change in my MembershipListener (which is an inner class of an MBean) 2/ I call asynchronously (so that i'm no longer in the JGroups thread) a method that notifies the nodes (via the clustered JMX notification mechanism) 3/ When a node's NotificationListener receives the event, it calls a SLSB entity finder method (findAllCentreExploitation). The SLSB is looked up as remote but the call happens on the same node as the NotificationListener--the classloading issue doesn't seem to come from a remoting issue? It doesn't change anything whether i call the SLSB in a new thread or not, it still fails loading the entity class. I'm really stuck here.. Something that could be (is probably) related, I have had classloading issues from a JGroups thread before, that i worked around by converting the problematic application object to and from an array of J2SE objects (so no application classloading necessary). Do i have to tell JBoss to use the right classloader, or what else can i do? Something else that seems strange that i thought i should mention; it doesn't fail on all topology changes, only certain ones. For instance, i have 2 nodes A and B; the successive topologies are: (A)--(A,B)--(B)--(A,B) IT ONLY FAILS ON THE LAST TOPOLOGY CHANGE! But maybe that's not important and the real solution is doing something about the classloading? Here is the stacktrace: 17:29:36,315 INFO [STDOUT] [com.navineo.sa.jmx.ha.taches.ComEmbarquesHAS][IncomingPacketHandler (channel=PartitionNavineo)] - DEBUT demarrer | 17:29:36,325 ERROR [STDERR] java.lang.reflect.UndeclaredThrowableException | 17:29:36,325 ERROR [STDERR] at $Proxy411.findAllCentreExploitation(Unknown Source) | 17:29:36,325 ERROR [STDERR] at com.navineo.sa.jmx.ha.taches.DummyTacheEgoiste1HAS$PrintTotoRunnable.run(DummyTacheEgoiste1HAS.java:57) | 17:29:36,326 ERROR [STDERR] at java.lang.Thread.run(Thread.java:619) | 17:29:36,326 ERROR [STDERR] Caused by: java.io.IOException | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:845) | 17:29:36,326 ERROR [STDERR] at org.jboss.serial.io.MarshalledObjectForLocalCalls.get(MarshalledObjectForLocalCalls.java:60) | 17:29:36,326 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:96) | 17:29:36,326 ERROR [STDERR] at org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor.invoke(ClusteredIsLocalInterceptor.java:53) | 17:29:36,326 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 17:29:36,326 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:112) | 17:29:36,326 ERROR [STDERR] ... 3 more | 17:29:36,326 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException | 17:29:36,326 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source) | 17:29:36,326 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:29:36,327 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597) | 17:29:36,327 ERROR [STDERR] at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103) | 17:29:36,327 ERROR [STDERR] ... 13 more | 17:29:36,327 ERROR [STDERR] Caused by: java.io.IOException: No ClassLoaders found for: com.navineo.dock.commande.unitaire.CentreExploitation | 17:29:36,327 ERROR [STDERR] at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:332) | 17:29:36,327 ERROR [STDERR] at org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:72) | 17:29:36,327 ERROR [STDERR] at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:381) | 17:29:36,327 ERROR [STDERR] at
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
It was indeed the problem. Calling setDistributedState asynchronously from the notification thread does work, and synchronously doesn't. Happily the asynchronicity shouldn't be a problem in my use case. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4206209#4206209 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4206209 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
I wonder if i'm not having the same thread problem as with the HAJNDI lookup with another kind of cluster call. Is it possible to call HAServiceMBeanSupport.setDistributedState from a Notification callback? I seem to have thread race problems. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4205785#4205785 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4205785 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
Hello again. I said i was going to test your asynchronous idea but i'm sorry i can't reproduce the problem again when synchronous.. I must have changed something somewhere. bstansbe...@jboss.com wrote : | You'd have to do something like what people do with JMS temporary queues to turn an asynchronous messaging system into something synchronous;. i.e. execute your commands on a different thread but have that thread at the end send a message to the node that initiated the process telling them it's complete. The node that initiates the process blocks waiting for those messages to come in. | Complex. Yuck. Let's find a better way. | Yeah it could work but i would rather not do that.. anonymous wrote : | The JGroups channel guarantees that the application will receive messages in the order sent. You can't guarantee that if you allow multiple threads to deliver messages. | | JGroups 2.6 (used in AS 5) improves on the single-threaded JG 2.4 architecture by having a thread pool to carry messages up, but it still only allows one thread at a time per sender to be delivering messages to the application. So wouldn't help with your problem. | Ah i see. anonymous wrote : | Yes, because AS 5 uses JBoss Messaging instead of JBossMQ. No more JMS server only running on one node. Instead your topics and queues are deployed on every node. So there would be no need for HA-JNDI to make a group RPC to find the JMS resources; they would be bound locally. | | BTW, you can install JBoss Messaging in 4.2.3 as well. See the JBoss Messaging project pages. Perhaps that's your solution. Hm, i sort of want to try it now. I'm going to read about it a bit before i decide if it's not too tough to migrate. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4205479#4205479 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4205479 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
Ha! Great explanation but that's going to be a big problem for me. Here is what i do: i implement a TopologyChangeListener that uses the HA MBean notification mechanism to send business commands (serializable command pattern objects) to nodes on topology changes. And in my case i need to be sure the commands are executed in order, and that one has been processed before the next is executed. That is, synchronously. I'm going to try your suggestion of executing the command asynchronously on one node to confirm the cause of the problem, but if it really is that, does that mean i can't use the notification mechanism? And it would be the same with mechanisms like HAPartition.callSyncMethodOnCluster() wouldn't it? What do think about my work-around with the Interceptor, could i stay like this or is it too dirty? Also if i understand you right you say that when i go into the @PostConstruct thread i'm not in the same thread that i would be if used an @Interceptor? But i don't get it, in both cases the method seems to be invoked just before the facade method call? The interception is synchronous right? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4205149#4205149 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4205149 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
I forgot one question. You seem to be saying that there is a unique JGroups thread for the node? Is that right and why? I don't see why it should be like the Swing EventDispatchThread thread? Thanks for your help because JMS is the one thing that has caused me the most headaches (so far, touching wood) in my clustering our application. Maybe it is easier in JBoss 5? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4205368#4205368 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4205368 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [Clustering/JBoss] - Re: Very strange problem while looking up HAJMS Topic
Sure, here is the NNFE: | 10:23:13,048 ERROR [STDERR] javax.naming.NameNotFoundException: topic/DepuisEmbarqueTopic | 10:23:13,049 ERROR [STDERR] at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:242) | 10:23:13,049 ERROR [STDERR] at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:155) | 10:23:13,049 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source) | 10:23:13,049 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 10:23:13,049 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597) | 10:23:13,049 ERROR [STDERR] at org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:312) | 10:23:13,049 ERROR [STDERR] at $Proxy238.lookup(Unknown Source) | 10:23:13,049 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667) | 10:23:13,049 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627) | 10:23:13,049 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:392) | 10:23:13,049 ERROR [STDERR] at com.navineo.sa.ejb.session.InwardMessageFacade.initTopics(InwardMessageFacade.java:145) | 10:23:13,049 ERROR [STDERR] at com.navineo.sa.ejb.session.InwardMessageFacade.initRessourcesJMS(InwardMessageFacade.java:110) | 10:23:13,049 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | 10:23:13,049 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | 10:23:13,049 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 10:23:13,050 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.proceed(LifecycleInvocationContextImpl.java:159) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:109) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:623) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:131) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.StrictMaxPool.get(StrictMaxPool.java:141) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54) | 10:23:13,050 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,050 ERROR [STDERR] at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51) | 10:23:13,050 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,050 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110) | 10:23:13,050 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | 10:23:13,050 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,050 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | 10:23:13,050 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,051 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304) | 10:23:13,051 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:81) | 10:23:13,051 ERROR [STDERR] at org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor.invoke(ClusteredIsLocalInterceptor.java:53) | 10:23:13,051 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 10:23:13,051 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:112) | 10:23:13,051 ERROR [STDERR] at $Proxy462.startManagers(Unknown Source) | 10:23:13,051 ERROR [STDERR] at com.navineo.sa.jmx.ha.taches.ComEmbarquesHAS.doDemarrerTacheEgoiste(ComEmbarquesHAS.java:19) | 10:23:13,051 ERROR [STDERR] at com.navineo.sa.jmx.ha.taches.core.TacheEgoisteHAS.doDemarrer(TacheEgoisteHAS.java:16) | 10:23:13,051 ERROR [STDERR] at
[jboss-user] [Clustering/JBoss] - Very strange problem while looking up HAJMS Topic
JBoss 4.2.3, deploying the topic as a HASingleton. An SLSB deployed on all nodes uses the Topic. Let's say that JMS topics run on node A, and i'm calling the EJB method on node B (everything works fine when calling it on node A). Since injection fails (in a surprising way too: getting a NamingContext instead of a Topic...), I have tried looking up the Topic at two different timings: 1/ Manual lookup in @PostConstruct 2/ Very same manual lookup before method invocation (for instance with an Interceptor) Result: 1: fails (NameNotFound) 2: works (except i have a Throwable.STACKTRACE message about closing my connections myself) What the hell, how is it possible? My lookup: | private void initTopics() throws NamingException | { | log.info ( initTopics/START__ ); | InitialContext ctx = ddgetfInitialContext (); | | Object ref = ctx.lookup ( topic/DepuisEmbarqueTopic ); | log.info ( ref 1: + depuisEmbarqueTopic ); | depuisEmbarqueTopic = (Topic) PortableRemoteObject.narrow( ref, Topic.class ); | log.info ( depuisEmbarqueTopic: + depuisEmbarqueTopic ); | } | | private InitialContext ddgetfInitialContext () throws NamingException | { | Properties p = new Properties(); | p.put(Context.INITIAL_CONTEXT_FACTORY,org.jnp.interfaces.NamingContextFactory); p.put(java.naming.factory.url.pkgs,org.jboss.naming:org.jnp.interfaces); | p.put(Context.PROVIDER_URL, [hidden ip1]:1100,[hidden ip2]:1100); | p.put(jnp.partitionName, PartitionNavineo); | p.put(jnp.discoveryGroup, 230.0.0.4); | p.put(jnp.discoveryPort, 1102); | p.put(jnp.discoveryTTL, 16); | return new InitialContext(p); | } | Something I haven't mentioned yet, since I was afraid to drown you in information (might be important or not): This only happens if JMS has moved back and forth between the 2 nodes. The sequence of successive topologies (where 1 and 2 are the nodes, and i bold the JMS MasterNode), which i note in roman numbers: I: { 1 } II: { 1 , 2 } III: { 2 } IV: { 1 , 2} The problem manifests itself at IV. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=4204697#4204697 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4204697 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user