dreedyman / Rio

Rio is an open source technology that provides a dynamic architecture for developing, deploying and managing distributed systems composed of services.
Apache License 2.0
21 stars 17 forks source link

Association parsing bug #26

Closed dreedyman closed 11 years ago

dreedyman commented 11 years ago

/ Customised behaviour association( type: "requires", serviceType: 'foo.bar.FooService', property: 'foo', name: 'FooService') { management inject: 'eager', serviceDiscoveryTimeout: 10, serviceDiscoveryTimeUnits : 'seconds' }

// Default behaviour (empty body) association( type: "requires", serviceType: 'foo.bar.FooService', property: 'foo', name: 'FooService') {}

// Default behaviour (no body) association( type: "requires", serviceType: 'foo.bar.FooService', property: 'foo', name: 'FooService')

With the latest Rio, which directly parses (Groovy -> Java), the variant with an empty body is completely silently ignored - no warning, but no association with "default" behaviour gets created either, it's simply not in the service's associations at runtime at all. So, beware to not specify it like this - it deploys with no warning from Rio, but doesn't create an association at all:

// Default behaviour (silently fails) association( type: "requires", serviceType: 'foo.bar.FooService', property: 'foo', name: 'FooService') {}