Hi,
When we bounce our applications, for the first minute or so after the
application has finished launching, we get a bunch of exceptions in
our logs:
Unabled to find an EOClassDescription for objects of class
ca.shopshop.ssmodel.Media.
The entity that has the problem varies for every launch. Sometimes it
is Media, sometimes it is PaymentInfo, sometimes it is Merchant, or
Product, etc. This seems to also cause any relationships to these
entities to come back null in situations where they would (or should)
never be null.
After about a minute or so, the application continues to work just fine.
In the Application constructor, we have a method that gets called to
setup the database connections. It loops through all the models in the
defaultGroup, then sets the connection dictionary information. Then,
after that gets done, we load up a bunch of objects into the shared
editing context.
It almost seems like we're getting requests before the application is
ready to handle them and hasn't finished loading in the models
completely.
Is there any way to tell the WO adaptor when we're ready to accept
connections? Or perhaps there's something else going wrong here.
Our production environment is WO 5.3 on OS X Server 10.4.x
Here's the full trace:
Exception:
com.webobjects.foundation.NSForwardException for
java.lang.IllegalStateException: Unabled to find an EOClassDescription
for objects of class ca.shopshop.ssmodel.Media
at
com
.webobjects
.eocontrol.EOGenericRecord.__setClassDescription(EOGenericRecord.java:
98)
at
com.webobjects.eocontrol.EOGenericRecord.<init>(EOGenericRecord.java:72)
at ca.shopshop.ssmodel.SSGenericRecord.<init>(SSGenericRecord.java:16)
at ca.shopshop.ssmodel._Media.<init>(_Media.java:111)
at ca.shopshop.ssmodel.Media.<init>(Media.java:28)
at sun.reflect.GeneratedConstructorAccessor4.newInstance(Unknown
Source)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
com
.webobjects
.foundation
._NSUtilities.instantiateObjectWithConstructor(_NSUtilities.java:594)
at
com
.webobjects
.eoaccess
.EOEntityClassDescription
.createInstanceWithEditingContext(EOEntityClassDescription.java:207)
at
com
.webobjects
.eoaccess.EODatabaseContext.faultForGlobalID(EODatabaseContext.java:
3553)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.faultForGlobalID(EOObjectStoreCoordinator.java:593)
at
com
.webobjects
.eocontrol.EOEditingContext.faultForGlobalID(EOEditingContext.java:3670)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectFaultWithSnapshotRelationshipEditingContext
(EODatabaseContext.java:2534)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._fireDeferredFaultWithSourceObject(EODatabaseContext.java:2575)
at
com
.webobjects
.eoaccess
.EOAccessDeferredFaultHandler
.createFaultForDeferredFault(EOAccessDeferredFaultHandler.java:45)
at
com
.webobjects
.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:1302)
at com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer
$
_LazyGenericRecordBinding
.valueInObject(_EOMutableKnownKeyDictionary.java:560)
at
com
.webobjects
.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1736)
at
com
.webobjects
.eoaccess
.EODatabaseContext.databaseOperationForObject(EODatabaseContext.java:
5005)
at
com
.webobjects
.eoaccess.EODatabaseContext.valuesForKeys(EODatabaseContext.java:6701)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator.valuesForKeys(EOObjectStoreCoordinator.java:
341)
at com.webobjects.eoaccess.EOQualifierSQLGeneration
$
_KeyValueQualifierSupport
.schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:418)
at com.webobjects.eoaccess.EOQualifierSQLGeneration
$
Support
._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java:165)
at
com
.webobjects
.eoaccess
.EODatabaseChannel
.selectObjectsWithFetchSpecification(EODatabaseChannel.java:209)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:
3205)
at
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification(EODatabaseContext.java:3346)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:539)
at
com
.webobjects
.eocontrol
.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:
4114)
at
com
.webobjects
.eoaccess
.EODatabaseContext.objectsForSourceGlobalID(EODatabaseContext.java:4260)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsForSourceGlobalID(EOObjectStoreCoordinator.java:682)
at
com
.webobjects
.eocontrol
.EOEditingContext.objectsForSourceGlobalID(EOEditingContext.java:3965)
at
com
.webobjects
.eoaccess.EODatabaseContext._fireArrayFault(EODatabaseContext.java:4427)
at
com
.webobjects
.eoaccess
.EOAccessArrayFaultHandler
.completeInitializationOfObject(EOAccessArrayFaultHandler.java:70)
at
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:38)
at
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray.objectsNoCopy(_EOCheapCopyMutableArray.java:
87)
at
com
.webobjects
.foundation.NSMutableSet.addObjectsFromArray(NSMutableSet.java:248)
at ca.shopshop.ssmodel.Product.activeNonExpiredCoupons(Product.java:
2041)
at ProductDetailsPage.appendToResponse(ProductDetailsPage.java:54)
at
com
.webobjects
.appserver.WOComponent._appendPageToResponse(WOComponent.java:1388)
at
com
.webobjects
.appserver.WOComponent._generateResponseInContext(WOComponent.java:1356)
at
com.webobjects.appserver.WOComponent.generateResponse(WOComponent.java:
1351)
at
ca
.shopshop
.sscommon.SSDirectAction.performActionNamed(SSDirectAction.java:119)
at
com
.webobjects
.appserver
._private
.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:240)
at
com
.webobjects
.appserver
._private
.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:145)
at
com
.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:
1306)
at
ca.shopshop.sscommon.SSApplication.dispatchRequest(SSApplication.java:
385)
at Application.dispatchRequest(Application.java:56)
at
com
.webobjects
.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173)
at
com
.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:
254)
at java.lang.Thread.run(Thread.java:613)
Thanks,
____________________________________________________________________
Brendan Duddridge | CTO | 403-277-5591 x24 | [EMAIL PROTECTED]
ClickSpace Interactive Inc.
Suite L100, 239 - 10th Ave. SE
Calgary, AB T2G 0V9
http://www.clickspace.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]