On Aug 15, 2006, at 8:53 AM, Venkatakrishnan (JIRA) wrote:
[ http://issues.apache.org/jira/browse/TUSCANY-611?page=all ]
Venkatakrishnan updated TUSCANY-611:
------------------------------------
Attachment: Tuscany-RMI-Binding-Updated-Aug-15-2.diff
Tuscany-SCA-SPI-Aug-15.diff
Hi
Here is an update to the RMI Binding. This patch addresses the
following: -
- Generates Remote interfaces dynamically for components whose
interfaces do not extend from Remote
- Implements a RMIHost system component that encapsulates starting
of RMI registries and registering services against them.
- Implements a test case that tests the RMI Service and Reference
Note:
- For implementing the RMIHost I have added interfaces to the SPI
package. Not sure if this is the right place.
- The testcase requires the following JVM arguments to be set :
i) -Dtuscany.installDir=<tuscany standalone disb. installation
dir>
ii) -Djava.security.policy=<location of the java.policy file>.
I have only tested with the following policy statement in the
java.policy file
grant {
permission java.security.AllPermission;
};
Could you describe what changes were made to SPI? Also, what is
requiring the security setting - the dynamic generation of classes?
Jim
Is there any other better way of setting the policy say as an
attribute of the bindng itself?
- The testcase runs only from within eclipse. I am not able to
solve the following exception that I get when running it as part of
mvn build. The expceptions must be to do with the setting of the
java security policy. How can this be set at the maven level so
that it is communicated to the JVM?
Could somebody kindly take a look at these patches and apply if ok?
Thanks
- Venkat
------- Exception Stack
--------------------------------------------------
Running org.apache.tuscany.binding.rmi.BindingTestCase
org.apache.maven.surefire.booter.SurefireExecutionException:
org.apache.tuscany.
binding.rmi.BindingTestCase; nested exception is
java.security.AccessControlExce
ption: access denied (java.lang.RuntimePermission setIO); nested
exception is or
g.apache.maven.surefire.testset.TestSetFailedException:
org.apache.tuscany.bindi
ng.rmi.BindingTestCase; nested exception is
java.security.AccessControlException
: access denied (java.lang.RuntimePermission setIO)
org.apache.maven.surefire.testset.TestSetFailedException:
org.apache.tuscany.bin
ding.rmi.BindingTestCase; nested exception is
java.security.AccessControlExcepti
on: access denied (java.lang.RuntimePermission setIO)
java.security.AccessControlException: access denied
(java.lang.RuntimePermission
setIO)
at java.security.AccessControlContext.checkPermission
(Unknown Source)
at java.security.AccessController.checkPermission(Unknown
Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.System.checkIO(Unknown Source)
at java.lang.System.setOut(Unknown Source)
at
org.apache.maven.surefire.report.ReporterManager.resetStreams(Reporte
rManager.java:313)
at
org.apache.maven.surefire.report.ReporterManager.testFailed(ReporterM
anager.java:291)
at
org.apache.maven.surefire.report.ReporterManager.testError(ReporterMa
nager.java:276)
at
org.apache.maven.surefire.junit.TestListenerInvocationHandler.handleA
ddError(TestListenerInvocationHandler.java:163)
at
org.apache.maven.surefire.junit.TestListenerInvocationHandler.invoke(
TestListenerInvocationHandler.java:134)
at $Proxy0.addError(Unknown Source)
at junit.framework.TestResult.addError(TestResult.java:36)
at junit.framework.TestResult.runProtected(TestResult.java:
133)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.maven.surefire.junit.JUnitTestSet.execute
(JUnitTestSet.jav
a:210)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes
tSet(AbstractDirectoryTestSuite.java:135)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab
stractDirectoryTestSuite.java:122)
at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Su
refireBooter.java:225)
at org.apache.maven.surefire.booter.SurefireBooter.main
(SurefireBooter.j
ava:747)
[INFO]
----------------------------------------------------------------------
--
[ERROR] BUILD FAILURE
[INFO]
----------------------------------------------------------------------
--
RMI Binding
-----------
Key: TUSCANY-611
URL: http://issues.apache.org/jira/browse/TUSCANY-611
Project: Tuscany
Issue Type: Bug
Reporter: Venkatakrishnan
Assigned To: ant elder
Attachments: Tuscany-RMI-Binding-Aug-10-Updated.diff,
Tuscany-RMI-Binding-Aug-10.diff, Tuscany-RMI-Binding-Formatted-
Aug-15-1.diff, Tuscany-RMI-Binding-Reference-Sample-Aug-10.diff,
Tuscany-RMI-Binding-Service-Sample-Aug-10.diff, Tuscany-RMI-
Binding-Updated-Aug-15-2.diff, Tuscany-SCA-SPI-Aug-15.diff
SCA RMI Binding with samples for SCA Reference and SCA Service
using RMI Binding.
Here is a first cut implementation for this. Could somebody
please review and apply? Also I have had the following issues un-
resolved: -
- The samples can be tested thro the Testcases in them. These
testcases work from eclipse as long as I have added the RMI-
Binding Eclipse project to the classpath. Otherwise the binding
does get picked up. The same is the issue when trying to execute
the testcases from maven. Could somebody please help in fixing
this? Thanks.
Note :-
--------
I shall be working further with this binding to address the
following : -
- there is single attribute called 'uri' for the binding. I shall
be splitting this to host, port and service name with defaults to
each when not specified.
- it is now required the that SCA Service require a component to
implement the interface Remote. I imagine this to be intrusive.
All that a developer should do is pick up an existing component
with a 'non remote' interface and simply deploy it exposing the
service as RMI. The binding should dynamically be able to
generate a remote interface and a proxy and host it as a facade to
this implementation.
- will be glad to take forward any other inputs from the
community as well.
Thanks
- Venkat
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/
Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/
software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]