[ 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;
 };
   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]

Reply via email to