Hi,
As part of a rather large deployment, I'm deploying a persistent Outrigger JavaSpace. It used to deploy just fine, but after updating to latest Rio-5.0 SNAPSHOT from Git today (first time in 3 weeks) it deploys with this warning in the log:
WARNING 2012.11.21 14:20:22,433 ServiceAdvertiser.advertise - Unable to obtain the OperationalStringEntry for com.travellinck/Space
This is the only service I have that uses inline Jini configuration file syntax to deploy, it looks like:
service(name: 'com.travellinck/Space')
{
interfaces
{
classes 'net.jini.space.JavaSpace05'
artifact ref: 'outrigger-dl'
}
implementation(class: 'com.sun.jini.outrigger.PersistentOutriggerImpl')
{
artifact ref: 'outrigger-store'
}
// Basic persistent Outrigger
configuration '''
import com.sun.jini.outrigger.snaplogstore.LogStore;
import net.jini.id.UuidFactory;
import net.jini.jeri.BasicILFactory;
import net.jini.jeri.BasicJeriExporter;
import net.jini.jeri.tcp.TcpServerEndpoint;
com.sun.jini.outrigger {
persistenceDirectory = "${RIO_HOME}/system/external/outrigger/data";
store = new LogStore(this);
serverExporter = new BasicJeriExporter(
TcpServerEndpoint.getInstance(0),
new BasicILFactory(),
false,
true);
}
'''
maintain 1
}
Furthermore, I have very unusual redeployment behaviour across all my services: I deploy first time fine (other than the warning above, and a mysteriously broken TransactionManger association), but re-deploying the same (with no opstring or code changes) about half of my services fail with ClassNotFound exceptions. Restarting Rio and re-deploying is then fine again, until I try to re-deploy. The error I get looks like:
SEVERE 2012.11.21 14:25:06,384 JSBDelegate$1.run - Failed to load the ServiceBean [com.travellinck/ShortMessageEvaluatorProxy] artifact [com.travellinck.approval:approval-engine-components:1.0]
org.rioproject.deploy.ServiceBeanInstantiationException: Service Instantiation Exception
at org.rioproject.jsb.JSBLoader.create(JSBLoader.java:112)
at org.rioproject.cybernode.ServiceBeanLoader.load(ServiceBeanLoader.java:416)
at org.rioproject.cybernode.JSBDelegate$1.run(JSBDelegate.java:499)
Caused by: java.lang.ClassNotFoundException: com.travellinck.approval.engine.impl.evaluation.evaluator.sms.rio.ShortMessageEvaluatorProxyService
at edu.emory.mathcs.util.classloader.URIClassLoader$1.run(URIClassLoader.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at edu.emory.mathcs.util.classloader.URIClassLoader.findClass(URIClassLoader.java:133)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.rioproject.jsb.JSBLoader.create(JSBLoader.java:63)
at org.rioproject.cybernode.ServiceBeanLoader.load(ServiceBeanLoader.java:416)
at org.rioproject.cybernode.JSBDelegate$1.run(JSBDelegate.java:499)
Both of these problems make the current state of Rio in git rather unusable for us...
Any advice would be much appreciated.