Re: ISE With WO 5.4.3
Re: ISE With WO 5.4.3
- Subject: Re: ISE With WO 5.4.3
- From: Ramsey Gurley <email@hidden>
- Date: Wed, 29 Jun 2011 16:32:43 -0700
Probably not a great solution if you have this happening in a lot of places, but have you tried adding
valueClassName = "java.lang.Boolean";
to the attribute instead of relying on the prototype to provide it?
Ramsey
On Jun 29, 2011, at 4:06 PM, Kieran Kelleher wrote:
> ERPrototypes is in the classpath.
>
> I tried ERAttributeExtension and same error after running for a while.
>
> BTW, seems to only happen when:
>
> Multiple threads creating instances of the same Entity where the editing contexts share the same parent OSC.
>
> Might be a WO 5.4.3 bug
>
> Also, the attribute in question looks like this:
> {
> columnName = isfactorialprime;
> name = isFactorialPrime;
> prototypeName = boolean;
> userInfo = {
> "_EntityModeler" = {documentation = "http://en.wikipedia.org/wiki/Factorial_prime"; };
> };
> },
>
> ..... and the ERPrototypes proto (boolean), for reference, looks like this:
> {
> adaptorValueConversionMethodName = toString;
> columnName = "";
> externalType = VARCHAR;
> factoryMethodArgumentType = EOFactoryMethodArgumentIsNSString;
> name = boolean;
> valueClassName = "java.lang.Boolean";
> valueFactoryMethodName = valueOf;
> width = 5;
> },
>
>
> On Jun 29, 2011, at 6:32 PM, Ramsey Gurley wrote:
>
>> I suspect it may have something to do with the use of the incompletely deprecated _valueClassName in WO 5.4.3's EOAttribute. EOAttribute still uses it, sometimes. I don't remember the issue I was having, but that is something I changed in ERAttributeExtension's version of this method. You could try running with that to see if it makes any difference.
>>
>> Generally when I've seen an error here, it's a missing prototype. In one case, I hunted for hours only to discover I forgot to import ERPrototypes (^_^) I don't know why your app would forget it occasionally though.
>>
>> Ramsey
>>
>> On Jun 29, 2011, at 3:08 PM, Kieran Kelleher wrote:
>>
>>> Anyone ever seen an error like this before? Not reproducible easily - can happen during heavy EOF save activity across multiple threads in WO 5.4.3. I have failed to make the same error happen with same code in WO 5.3.3.
>>>
>>> IllegalStateException: adaptorValueType: unable to load class named 'Boolean' for attribute isFactorialPrime on entity ResultItem
>>> at com.webobjects.eoaccess.EOAttribute.adaptorValueType(EOAttribute.java:2216)
>>> at com.webobjects.eoaccess.EOAttribute.adaptorValueClass(EOAttribute.java:2254)
>>> at com.webobjects.eoaccess.EOEntityClassDescription._enforcedKVCNumberClassForKey(EOEntityClassDescription.java:548)
>>> at er.extensions.eof.ERXEntityClassDescription._enforcedKVCNumberClassForKey(ERXEntityClassDescription.java:1266)
>>> at com.webobjects.eocontrol.EOGenericRecord._otherStorageBinding(EOGenericRecord.java:146)
>>> at er.extensions.eof.ERXGenericRecord._otherStorageBinding(ERXGenericRecord.java:231)
>>> ... skipped 2 stack elements
>>> at com.webobjects.eocontrol.EOKeyValueCoding$DefaultImplementation._createStoredKeySetBindingForKey(EOKeyValueCoding.java:350)
>>> at com.webobjects.eocontrol.EOCustomObject._createStoredKeySetBindingForKey(EOCustomObject.java:1744)
>>> at com.webobjects.eocontrol.EOGenericRecord._storedKeySetBindingForKey(EOGenericRecord.java:215)
>>> at com.webobjects.eocontrol.EOCustomObject.takeStoredValueForKey(EOCustomObject.java:1662)
>>> at er.extensions.eof.ERXGenericRecord.takeStoredValueForKey(ERXGenericRecord.java:1402)
>>> at wowodc.eof._ResultItem.setIsFactorialPrime(_ResultItem.java:114)
>>> at wowodc.eof.ResultItem.awakeFromInsertion(ResultItem.java:38)
>>> at com.webobjects.eocontrol.EOEditingContext.insertObjectWithGlobalID(EOEditingContext.java:2871)
>>> at er.extensions.eof.ERXEC.insertObjectWithGlobalID(ERXEC.java:886)
>>> at com.webobjects.eocontrol.EOEditingContext.insertObject(EOEditingContext.java:2889)
>>> at er.extensions.eof.ERXEC.insertObject(ERXEC.java:896)
>>> at er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:322)
>>> at er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:298)
>>> at er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:284)
>>> at wowodc.background.tasks.T04MultiThreadedEOFTask$ChildPrimeTask.run(T04MultiThreadedEOFTask.java:266)
>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>> ... skipped 1 stack elements
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden