[ 
https://issues.apache.org/jira/browse/FELIX-2636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12919186#action_12919186
 ] 

Bengt Rodehav commented on FELIX-2636:
--------------------------------------

I've tried the latest trunk now. Seems to be 1.7.0-SNAPSHOT and not 
1.8.0-SNAPSHOT which this JIRA indicates.

It works! Great job Clement. I still have a couple of questions though:

1. INITIALISATION

I presently use the following code:

@Controller
@Property(name = "connect.enabled", mandatory = true)
private boolean mValid = true;

Do I really have to initialise the mValid field? If yes, should I initialise it 
to true or false?

My reasoning is like this: Since this is a mandatory property, the instance 
will not be valid until it gets a value from configuration manager. Thus I 
shouldn't have to initialise it at all. Is this reasoning correct?

2. FILE INSTALL vs BUNDLE CACHE

I use file install to control my configuration. Thus I can change the 
configuration (the "connect.enabled" property) from either file install or 
directly in configuration manager (using the Webconsole or my own GUI). Which 
takes precedence on startup?

My tests indicate that what I specify in file install will be used even when 
configuration manager's cache differ from this value. Is this by accident or is 
this the way it will always work? I think I can live with either way as long as 
it's deterministic.

3. RELEASE

When do you think this fix will be available in an iPOJO release. I would like 
to get it into production as soon as possible since we've had incidents in 
production regarding this issue.



> Cannot control the validity of an iPOJO instance using a configuration 
> property
> -------------------------------------------------------------------------------
>
>                 Key: FELIX-2636
>                 URL: https://issues.apache.org/jira/browse/FELIX-2636
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: iPOJO-1.4.0
>            Reporter: Bengt Rodehav
>            Assignee: Clement Escoffier
>             Fix For: iPOJO-1.8.0
>
>
> Controlling the validity of an iPOJO instance as follows doesn't work:
> @Controller
> @Property(name = "connect.enabled", mandatory = true)
> private boolean mValid = false;
> When initialising mValid to false (as above), the iPOJO instance becomes 
> invalid even though the configuration property (connect.enabled in this case) 
> is true.
> On the other hand, if the following code is used...
> @Controller
> @Property(name = "connect.enabled", mandatory = true)
> private boolean mValid = true;
> ...then the instance becomes valid even though the configuration property is 
> false.
> I use Karaf 1.6.0 with file installer 3.0.2 in the scenario above. The 
> problem only occurs when starting Karaf. Subsequent changes of the 
> configuration property will change the validity of the instance correctly. 
> The problem does not show when using iPOJO 1.6.0 but it's still important to 
> make sure that the above described scenario is supported by iPOJO.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to