I don't know much about the details of the problem but it seems to me
that you would either make the class serializable (option #1) or exclude
it from serialization if it is not necessary. I don't see how this
would impact any existing functions. So I guess I would vote for #1.
I don't understand why you would want to have a "get*" method that
doesn't return anything - but perhaps I'm missing the point of option #2.
Joe
Ashish Jain wrote:
Hi ALL,
I have opened up a JIRA GERONIMO-5180 on the unlockKeystore command
failure if keystore is created with keytool.exe. I was trying to fix
this issue
which requires some changes in the class declaration or interface.
Following code is being utilized to fix up the issue
KeystoreInstance[]
keystores=(KeystoreInstance[])kernel.getAttribute(abstractName,"keystores");
where abstractName is obtained through
"org.apache.geronimo.management.geronimo.KeystoreManager". However I hit
the following exception:
java.rmi.UnmarshalException: error unmarshalling return; nested
exception is:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableE
xception: org.apache.geronimo.security.keystore.FileKeystoreInstance
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:172)
at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
at
javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(RMIConnecti
onImpl_Stub.java:400)
at
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.
invoke(RMIConnector.java:984)
There are 2 ways to fix this up.
1) Make the class
org.apache.geronimo.security.keystore.FileKeystoreInstance serializable.
2) add a new variable in FileKeystoreManager and add a new method in
KeystoreManager which does not return anything and just gives a call
to getKeystores(). For example getKeystores1() as the new method in
KeystoreManager and a new variable as keystores1.
I shall prefer #2 over #1 as it should not have any effect on existing
functionalities.
Suggestions/advice/comments??
Thanks
Ashish