I'll just try to pre-empt myself first...
Q1 - is it possible to change the observed/watched urls of the auto-deployer to something other
than ../deploy (as in the default jcml)?
Q2 - does this change simply involve changing the following in the jboss.jcml?
Q3 - Reading the online docs/howto on Deployment on Jboss, i read the following:
In its current version the AutoDeployer supports only local directories to observe.
Is this saying that the deploy dir has to be in the Jboss dir or is it just saying deploy dirs have to be on the local machine?
I have basically tried to do the things described above (changed default deploy dir) and i get VERY bad/strange behaviour.
In summary, when one client accesses (using the correct PK and finder method) my BMP entity bean (ejbLoad called on first access) and modifies a value (in this case a simple method that increments a counter eg. 11, 12, 13, 14), ejbStore is called and the results end up in th db as expected. Good.
A second client tries to access the same bean (using the correct PK and finder method). Now i notice weirdness 1, ejbLoad is called (again!)...but the bean is already loaded and in memeory. I know it has not been passivated (using log4j.appender.Console.Threshold=ALL, and COMMIT-OPTION A). Anyways i call the same method that increments my counter (15, 16, 17) ejbStore is called and the results end up in th db as expected.
Now i use the first client. Find the same bean and call
the same method that increments my counter and now i notice weirdness/badness 2, the value returned is 15 instead of the expected 18.
So i am very confused....there are TWO Entity beans alive both trampling over each others data.
The problem is not seen when deploying in the jboss default deploy dir.
Hope somebody can shine a torch onto this.
The last statement you sad looks like a pooling problem,
when a bean is reused and forgets to clear one or more fields then it has an inconsequent state.
use the setEntityContext() to set the defaults (including null)
With pooling think that an object is a bucket,
if the bucket is reused the bucket must contain the same default data.