[Design of JBossCache] - Re: Ordering of Synchronizations between JBC and Hibernate
by bstansberry@jboss.com
Yes, the ordering is registration order. The OSH API allows addition of a new Synchronization at the head or the tail of the current list.
Something like you suggest where Hibernate can directly control this certainly seems preferable to my OSH hack. There are some problems with overloading TransactionManagerLookup with this behavior though:
1) With EJB3 in the AS, Hibernate *does not* create the JBC instance and thus doesn't inject the TM lookup. This is because the cache is a shared cache that pre-exists the EJB deployment. See o.j.ejb3.entity.TreeCacheProviderHook. Perhaps this should be changed, although that should probably be discussed on a separate thread.
2) The JBC TransactionManagerLookup interface is part of the public API. Adding methods to it breaks API compatibility. A subinterface with the extra methods is possible, but starts to get ugly.
3) In an IOC container like AS 5, TransactionManagerLookup is unnecessary, at least if the cache is built by the IOC container. In such a case the TM should be directly injected. JBC 2.0 supports both direct injection and the lookup. Overloading the lookup with new behavior forces the use of the lookup.
There is some debate on http://www.jboss.com/index.html?module=bb&op=viewtopic&t=97236 as to whether JBossTS will be used in 4.2. If it won't be, that opens up the possibility of making this a JBC 2.x-only fix. There we have more freedom to alter the API to handle this cleanly.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993907#3993907
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993907
19 years, 3 months
[Design of JBoss ESB] - Re: JMS Provider(s) Design - JBossMQ/JBossMessaging/ActiveMQ
by jeffdelong
Here is a snippet from the log:
2006-12-14 08:22:40,171 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] ConnectionEndpoint[-2147483646] started
2006-12-14 08:22:40,171 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e7f6eb, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@131cd12{ url=null ,addedOrder=0}
2006-12-14 08:22:40,171 DEBUG [org.jboss.jms.client.JBossSession] attempting to create consumer for destination:JBossQueue[B]
2006-12-14 08:22:40,187 DEBUG [org.jboss.jms.server.security.SecurityMetadataStore] No SecurityMetadadata was available for B, using default security config
2006-12-14 08:22:40,187 DEBUG [org.jboss.jms.server.endpoint.ServerSessionEndpoint] creating consumer for JBossQueue[B], selector null, subscription null
2006-12-14 08:22:40,187 DEBUG [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] ConsumerEndpoint[-2147483644] constructed
2006-12-14 08:22:40,218 DEBUG [org.jboss.jms.server.ServerPeer] ServerPeer [server.0] caching consumer -2147483644
2006-12-14 08:22:40,218 DEBUG [org.jboss.jms.server.endpoint.ServerSessionEndpoint] created and registered ConsumerEndpoint[-2147483644]
2006-12-14 08:22:40,468 DEBUG [org.jboss.soa.esb.listeners.message.EsbListenerController] About to sleep 26141
2006-12-14 08:22:40,468 DEBUG [org.jboss.soa.esb.listeners.message.JmsQueueListener] run() method of JmsQueueListener started on thread Thread-27
2006-12-14 08:22:40,468 INFO [org.jboss.soa.esb.services.registry.RegistryException] Going to load null
2006-12-14 08:22:40,468 DEBUG [org.jboss.soa.esb.common.Factory] Using the Context ClassLoader
2006-12-14 08:22:40,468 FATAL [org.jboss.soa.esb.listeners.message.JmsQueueListener] Could not register service Invocation exception. null
org.jboss.soa.esb.services.registry.RegistryException: Invocation exception. null
at org.jboss.soa.esb.services.registry.RegistryFactory.getRegistry(RegistryFactory.java:49)
at org.jboss.soa.esb.listeners.message.EsbListenerController.register(EsbListenerController.java:571)
at org.jboss.soa.esb.listeners.message.JmsQueueListener.run(JmsQueueListener.java:87)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.jboss.soa.esb.common.Factory.getClassForName(Factory.java:47)
at org.jboss.soa.esb.services.registry.RegistryFactory.getRegistry(RegistryFactory.java:43)
... 3 more
2006-12-14 08:23:06,609 INFO [org.jboss.soa.esb.services.registry.RegistryException] Going to load null
2006-12-14 08:23:06,968 INFO [org.jboss.soa.esb.listeners.message.EsbListenerController] Reloading parameters _____________________________________________________
2006-12-14 08:23:08,671 DEBUG [org.jboss.soa.esb.common.Factory] Using the Context ClassLoader
2006-12-14 08:23:08,671 WARN [org.jboss.soa.esb.listeners.message.JmsQueueListener] Could not un register service Invocation exception. null
2006-12-14 08:23:08,687 WARN [org.jboss.soa.esb.listeners.message.AbstractListener] Attribute maxThreads has not been set. Action pipeline will be processed by only one thread
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for destination-name
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for service-category
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for service-name
2006-12-14 08:23:08,687 DEBUG [org.jboss.jms.client.remoting.MessageCallbackHandler] MessageCallbackHandler[-2147483644] closing
2006-12-14 08:23:08,687 DEBUG [org.jboss.soa.esb.listeners.message.JmsQueueListener] No value specified for: message-selector - All messages in queue will be received by this listener
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for jndi-type
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for jndi-URL
2006-12-14 08:23:08,687 INFO [org.jboss.soa.esb.listeners.message.JmsQueueListener] Reading value for connection-factory
2006-12-14 08:23:08,687 DEBUG [org.jboss.jms.client.container.ClosedInterceptor] ClosedInterceptor.ClientConsumerDelegate[-2147483644] closed
2006-12-14 08:23:08,703 DEBUG [org.jboss.jms.client.remoting.JMSRemotingConnection] JMSRemotingConnection[socket://10.84.0.4:4457/?clientSocketClass=org.jboss.jms.client.remoting.ClientSocketWrapper&dataType=jms&marshaller=org.jboss.jms.server.remoting.JMSWireFormat&serializationtype=jboss&socket.check_connection=false&unmarshaller=org.jboss.jms.server.remoting.JMSWireFormat] created
2006-12-14 08:23:08,703 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] ServerInvoker (org.jboss.remoting.transport.socket.SocketServerInvoker@1c330aa) added client callback handler org.jboss.jms.client.remoting.DummyCallbackHandler@7a6c34 with session id of a2c04-eb4k4s-evpbmlgb-1-evpbnrj3-d+a2c04-eb4k4s-evpbmlgb-1-evpbnrj3-e and callback handle object of null.
2006-12-14 08:23:08,703 DEBUG [org.jboss.jms.server.ServerPeer] ServerPeer [server.0] removing consumer -2147483644
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993898#3993898
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993898
19 years, 3 months
[Design of JBoss jBPM] - Web Console: Componentizing
by david.lloyd@jboss.com
In order to allow people to use the cool jBPM components outside of jBPM, I'm considering grouping the components into the following categories:
1. Regular JSF Components - These are components that do not do anything jBPM-specific, but add fuctionality not found in other component sets. This would include the custom dataTable, dataForm, tabset, base, bind, messages, and their relatives.
2. jBPM Task Form Components - These are components that are specific to using task forms, such as the taskForm tag as well as the various task form button components. Using these components would depend on #1 above (since as of now, generated task forms use the dataForm component).
3. jBPM Web Console Components - These are components that might not be useful outside of the Web Console, or they are most likely to be duplicated in functionality with other component libraries (I'm thinking of Seam here). These would include the search component, process image, and xml printer.
I'd like to consider packaging #1 and #2 separately.
Any opinions?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993896#3993896
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993896
19 years, 3 months
[Design of JBoss Web Services] - Error in mapping at run-time.
by orfordi
I'm working on a project that's using JBoss 4.0.3. This version does not come with "wstools". The documentation talks about using JWSDP's "wscompile", but that gave me some exceptions (no public constructors on some of the enum-type classes), so I'm using "wstools" from an installation of the latest JBoss and WS addon.
So, I've got my soap definition xml file and have used wstools to generate my wsdl and my mapping xml files.
I've added the dummy servlet definition to web.xml and have also created the webservices.xml file that refers to my mapping file.
The server now exposes the wsdl under ?wsdl which is good. I've imported this into VS.NET and am trying to call the method. I get a mapping exception. I had to use "document" style SOAP rather than "rpc" because VS2003 could not understand the WSDL when I tried "rpc".
So I'm trying to work out what's happening with my mapping. Note that the file is not called "jaxrpc-mapping.xml", I've prefixed it with something else, but I've checked that it's in WEB-INF and my WEB-INF\webservices.xml file refers to the correctly named mapping file.
Any suggestions? Thanks in advance.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993875#3993875
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993875
19 years, 3 months