[Design of EJB 3.0] - Re: Annotated EJB References in MappedReferenceMetadataDeplo
by scott.stark@jboss.org
With the current 1.0.0.Beta13 release of metadata and updates to MappedReferenceMetadataDeployer, the @EJB(home) and @EJB(localBusiness) resolve to:
| 2008-05-07 22:43:48,807 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (RMI TCP Connection(4)-127.0.0.1) Processing unit=ejbthree1154.jar,
| structure:ejbthree1154.jar+EjbEndpoint:ejbName=TestBean,ejbClass=org.jboss.ejb3.test.ejbthree1154.TestBean
| ,home=org.jboss.ejb3.test.ejbthree1154.TestRemoteHome,BusinessLocals: [org.jboss.ejb3.test.ejbthree1154.TestLocalBusiness],BusinessRemotes: [org.jboss.ejb3.test.ejbthree1154.TestRemoteBusiness]
| +EjbEndpoint:ejbName=DelegateBean,ejbClass=org.jboss.ejb3.test.ejbthree1154.Dele
| gateBean,BusinessRemotes: [org.jboss.ejb3.test.ejbthree1154.DelegateRemoteBusiness]
| ++@EJB(home) -> mappedName=null| resolvedJndiName=TestBean/localHome
| ++@EJB(localBusiness) -> mappedName=null| resolvedJndiName=TestBean/org.jboss.ejb3.test.ejbthree1154.TestLocalBusiness
|
as determined by the new determineResolvedJndiName(iface) method on the JBossEnterpriseBeanMetaData, but the bindings for the interfaces on the bean are:
| +- TestBean (class: org.jnp.interfaces.NamingContext)
| | +- remoteHome (proxy: $Proxy128 implements interface org.jboss.ejb3.test.ejbthree1154.TestRemoteHome)
| | +- local (proxy: $Proxy129 implements interface org.jboss.ejb3.test.ejbthree1154.TestLocalBusiness,interface org.jboss.ejb3.proxy.JBossProxy)
| | +- remote (proxy: $Proxy126 implements interface org.jboss.ejb3.proxy.JBossProxy,interface org.jboss.ejb3.test.ejbthree1154.TestRemoteBusiness)
| | +- localHome (proxy: $Proxy131 implements interface org.jboss.ejb3.test.ejbthree1154.TestLocalHome)
|
The logic for the BasicJndiBindingPolicy is to use the /local, /localHome, /remote and /remoteHome suffixes for the interfaces matching the metadata getLocal(), getLocalHome(), getRemote() and getHome() values. All others are bound under a suffix equal to the interface name. Here org.jboss.ejb3.test.ejbthree1154.TestLocalBusiness is a BusinessLocal interface rather than the getLocal() value so its expected to be bound under
TestBean/org.jboss.ejb3.test.ejbthree1154.TestLocalBusiness rather than TestBean/local.
So what happens when there is a getLocal() and BusinessLocal interfaces? Either the default binding policy needs to be updated or the proxy layer needs to use the new determineResolvedJndiName(iface, summary) method to get the jndi name to use.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4149303#4149303
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4149303
17 years, 11 months
[Design of JBoss jBPM] - Re: Potential enhancement to jbpm
by brittm
Ronald,
Of course, you would have to implement code to reject re-deployment of a process definition that tried to deploy with a version number that was already in use for that definition name, but other scenarios would require some thought--would you stop deployment of a definition just because its version number is lower than the greatest currently deployed version? (someone might intentionally want to re-deploy and use an earlier release. Then, how would jBPM know that the earlier release number is the definition it should be using?)
Personally, I think its cleaner, safer, and more flexible to just let jBPM continue managing the version_ field itself, and give the developer a separate field to version their process definition's content.
I suppose we're really talking about two different things: the jBPM version_ field is versioning deployments, whereas the developer is versioning content.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4149288#4149288
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4149288
17 years, 11 months
[Design of JBossCache] - Re: new eviction region issues
by bstansberry@jboss.com
For the EJB3 SFSB cache I do something similar to what Sancheski describes. I realize now it works OK because that cache has useRegionBasedMarshalling=true, so even though the cache is started the region is empty when I programatically add the eviction region config. That's kind of a fortunate fluke though; being able to programatically add the region without requiring region-based marshalling would be nice. Without region-based marshalling, there could be pre-existing nodes.
I wouldn't worry about the # of preexisting nodes exceeding maxNodes issue. The first time the eviction thread runs, it will take care of it; it's the job of eviction processing to worry about that.
Re: every pre-existing node having the same timestamp in the eviction queue, oh well. Don't see any way around that without storing a creation timestamp in each node, which IMO is big time overkill. The main thing is making sure the policy knows about all nodes.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4149213#4149213
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4149213
17 years, 11 months