openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerhard Petracek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-1960) openjpa.InitializeEagerly breaks bean-validation integration
Date Wed, 16 Mar 2011 02:19:29 GMT

    [ 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

Mime
View raw message