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