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

Richard Eckart de Castilho commented on UIMA-5554:
--------------------------------------------------

I don't understand what "installed/committed" means. As far as I know, there 
was a concept of committing the type system of a CAS instance in v2. But afaik 
this was per-CAS/classloader and not globally. Also, it was possible to 
re-initialize a CAS with a new type system even after one had already been 
committed. That concept seems still to be there in UIMAv3 and is being used in 
CasIOUtils when CasLoadMode.REINIT is used. Afaik, in v2 it was possible to 
have any number of type systems and different CASes initialized with different 
type systems - and if different classloaders were used, even with different 
JCas classes.

Is there a new concept of "installing/committing" types in v3? 

Why are the types not simply "installed" when the JCas class is loaded and 
initialized?

> Strange exception when trying to get JCas FS class through reflection
> ---------------------------------------------------------------------
>
>                 Key: UIMA-5554
>                 URL: https://issues.apache.org/jira/browse/UIMA-5554
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 3.0.0SDK-beta
>            Reporter: Richard Eckart de Castilho
>
> I am trying to get a class object for a JCas FS type using reflection:
> {noformat}
> Class.forName(typeName);
> {noformat}
> However, it produces this strange error.
> {noformat}
> java.lang.ExceptionInInitializerError
>       at java.lang.Class.forName0(Native Method)
>       at java.lang.Class.forName(Class.java:264)
> ...
> Caused by: org.apache.uima.cas.CASRuntimeException: A JCas class field "sofa" 
> is being initialized by non-framework (user) code before Type System Commit 
> for a type system with a corresponding type. Either change the user load code 
> to not do initialize, or to defer it until after the type system commit.
>       at 
> org.apache.uima.cas.impl.TypeSystemImpl.getAdjustedFeatureOffset(TypeSystemImpl.java:2575)
>       at 
> org.apache.uima.jcas.cas.AnnotationBase.<clinit>(AnnotationBase.java:71)
>       ... 27 more
> {noformat}
> Is it considered harmful to try getting a class object for a JCas FS class?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to