[ 
https://issues.apache.org/jira/browse/OPENJPA-1960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007317#comment-13007317
 ] 

Gerhard Petracek commented on OPENJPA-1960:
-------------------------------------------

with the default validation mode (== auto):
WARN   [btpool0-1] openjpa.Runtime - Could not create the optional validation 
provider. Reason returned: "Can not modify "LifecycleEventManager" because the 
property is not dynamic and the current configuration is read-only."

in case of <validation-mode>CALLBACK</validation-mode> it is:
Caused by: java.lang.RuntimeException: Can not modify "LifecycleEventManager" 
because the property is not dynamic and the current configuration is read-only.
        at org.apache.openjpa.lib.conf.Value.assertChangeable(Value.java:480)
        at 
org.apache.openjpa.lib.conf.PluginValue.setString(PluginValue.java:135)
        at 
org.apache.openjpa.conf.OpenJPAConfigurationImpl.setLifecycleEventManager(OpenJPAConfigurationImpl.java:1742)
        at 
org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(ValidationUtils.java:103)
        at 
org.apache.openjpa.persistence.PersistenceProviderImpl.loadValidator(PersistenceProviderImpl.java:325)
        at 
org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:104)


> openjpa.InitializeEagerly breaks bean-validation integration
> ------------------------------------------------------------
>
>                 Key: OPENJPA-1960
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1960
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel, validation
>    Affects Versions: 2.1.0
>            Reporter: Gerhard Petracek
>
> <property name="openjpa.InitializeEagerly" value="true"/> breaks the 
> bean-validation integration
> AbstractBrokerFactory#makeReadOnly
> evaluates conf.isInitializeEagerly() which returns true (due to the config) 
> and calls _conf.setReadOnly(Configuration.INIT_STATE_FROZEN)
> + at the end of AbstractBrokerFactory#initializeBroker it gets called again
> that causes:
> the created BrokerFactory gets used as argument for 
> PersistenceProviderImpl#loadValidator which fails (with a warning or an 
> exception depending on the validation-mode configured in the persistence.xml) 
> because the config is in state INIT_STATE_FROZEN

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to