Re: Webservice Serializing/Deserializing WOStringKeyMap fails
There must be something specific that you're using that I'm not ... My WSDL looks (roughly) the same, except for the definitions of my own complex types, and it works fine. For what it's worth, I don't return anything that is of type Map. In all of my services, I return one: a primitive type (String, int, float, boolean), one of my own custom objects(i.e. WSPerson), an array of primitive types (String[], not NSArray), or an array of my own custom objects (i.e. WSPerson []). This has been working with no problems for me on 5.3 as long as I had the modified Axis client to work around the cookie problem (.net worked with it out-of-the-box). ms On May 11, 2006, at 11:17 PM, Pierre Frisch wrote: Hi Mike, Sorry to disturb you but I dont think it works as mentioned. I have a WO application that makes heavy use of WebServices (http:// www.spearcat.com) and it runs very well under wo 5.2.x however I have never managed to get it running with 5.3.x. The main problem is the WebServices. the way 5.3 with Axis 1.1 generate wsdl and handle WebServices has changed. We have methods that will typically return a WOKeyMapString. This does not work any more. I get an error: 11 May 2006 17:34:55,747 ERROR [WorkerThread 6]: MonitorClient.invoke - invoke() exception com.webobjects.foundation.NSForwardException for javax.xml.rpc.ServiceException: Error processing WSDL document: java.io.IOException: Type {http://schemas.xmlsoap.org/soap/ encoding/}Struct is referenced but not defined. at org.apache.axis.client.Service.initService(Service.java:278) The generated wsdl has changed and probably not for the better. The old one used to be: ?xml version=1.0 encoding=UTF-8? wsdl:definitions targetNamespace=http://antrax.spearway.com:2440/ sPearCat/sPearCatWatchDog.woa/ws/MonitorRequest xmlns=http:// schemas.xmlsoap.org/wsdl/ xmlns:apachesoap=http://xml.apache.org/ xml-soap xmlns:impl=http://antrax.spearway.com:2440/sPearCat/ sPearCatWatchDog.woa/ws/MonitorRequest xmlns:intf=http:// antrax.spearway.com:2440/sPearCat/sPearCatWatchDog.woa/ws/ MonitorRequest xmlns:soapenc=http://schemas.xmlsoap.org/soap/ encoding/ xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema;wsdl:types/ wsdl:message name=instancesRefuseSessionsResponse wsdl:part name=instancesRefuseSessionsReturn type=soapenc:Struct/ /wsdl:message .. The new one starts: ?xml version=1.0 encoding=UTF-8? wsdl:definitions targetNamespace=http://localhost:2440/sPearCat/ sPearCatWatchDog.woa/ws/MonitorRequest xmlns=http:// schemas.xmlsoap.org/wsdl/ xmlns:apachesoap=http://xml.apache.org/ xml-soap xmlns:impl=http://localhost:2440/sPearCat/ sPearCatWatchDog.woa/ws/MonitorRequest xmlns:intf=http:// localhost:2440/sPearCat/sPearCatWatchDog.woa/ws/MonitorRequest xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema;wsdl:typesschema targetNamespace=http://xml.apache.org/xml-soap; xmlns=http:// www.w3.org/2001/XMLSchemaimport namespace=http:// schemas.xmlsoap.org/soap/encoding//complexType name=Mapsequenceelement maxOccurs=unbounded minOccurs=0 name=itemcomplexTypeallelement name=key type=xsd:anyType/element name=value type=xsd:anyType// all/complexType/element/sequence/complexType/schema/ wsdl:types wsdl:message name=instancesStartResponse wsdl:part name=instancesStartReturn type=soapenc:Struct/ /wsdl:message I am no wsdl expert but it looks like the headed is confused why does it redefine the Map that is one of the base type. Thank you Pierre On 27-Apr-06, at 3:46 PM, Mike Schrag wrote: 5.3.x and wsdl generation DOES work. This is actually one of the few things that IS on the wikibook :) http://en.wikibooks.org/wiki/Programming:WebObjects/Web_Services/ Web_Service_Provider Let me know if there is still something that isn't clear after this and I'll revise it. ms On Apr 27, 2006, at 6:00 PM, Pierre Frisch wrote: Mike, Are you working with 5.3.x or 5.2.x? Are you using D2WebServices? or do it custom? Does your wsdl generation work? Pierre On 27-Apr-06, at 11:45 AM, Mike Schrag wrote: WO definitely supports non-primitive types with Axis ... We have several custom object types that I register with: public static void registerType(Class _class, QName _qName) { WOWebServiceRegistrar.registerFactoriesForClassWithQName(new BeanSerializerFactory(_class, _qName), new BeanDeserializerFactory(_class, _qName), _class, _qName); } ms On Apr 27, 2006, at 2:38 PM, Trond Kandal wrote: Kristof Cossement wrote: Hey everyone, I try to create a webservice with one input parameter of type WOStringKeyMap. WOStringKeyMap has a serializer and a deserializer class ! However exchanging the hash through webservices
EOModeler on Windows XP problem
Hi, my name is Siggi. Im having a problem starting up EOModeler on Windows XP. It simply wont open. Is there a genious out there who can help me figure a way to fix this? Best reards, Siggi Olafsson Fyrirvari á tölvupósti / e-mail disclaimer http://www.us.is/page/fyrirvari ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: EOModeler on Windows XP problem
Siggi wrote on 05/12/2006 07:05:24 AM: I’m having a problem starting up EOModeler on Windows XP. It simply won’t open. Is there a genious out there who can help me figure a way to fix this? I'm no genius, but I can give some hints and tips. First, check the System event logs. EOModeller requires that certain Services be working, like the Apple Mach Daemon, and the Apple Netname Server. Check your services control panel to makes sure they are working, and see if the event logs are showing any errors. Also, check your Task Manager to make sure you have pbs.exe, WindowServer.exe, nmserver.exe, and machd.exe running. If any of these are not working properly, none of the Apple apps will run (EOModeller, WOBuilder, etc.). Usually they fail to launch silently except sometimes an entry in the System event log. HTH, Logan ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: seamleass integration with other application
Hola PS! I was not able to find the demo... sorry, it may be too old... but if you are interested in embedding web contents in your app, you MOST read: http://developer.apple.com/documentation/Cocoa/Conceptual/ DisplayWebContent/DisplayWebContent.html It is really very easy to use. To learn more on Cocoa/EOF take a look to: http://wodev.spearway.com/cgi-bin/WebObjects/WODev.woa/wa/Main? wikiPage=CocoaEOApplication Suerte, Dino On May 10, 2006, at 6:39 PM, PS ps wrote: Thanks. Where can I find the demo or any documentation on the same? --- Ricardo Strausz [EMAIL PROTECTED] wrote: There was a demo showing how to do a web-browser (without writing code) using the APIs of Cocoa... this may give you a hint on how to integrate web-apps into another desktop-app... you may also want to give a try to Cocoa Enterprise Objects Applications... HIIH Dino On May 10, 2006, at 5:34, [EMAIL PROTECTED] wrote: Message: 4 Date: Tue, 9 May 2006 14:47:19 -0700 (PDT) From: PS ps [EMAIL PROTECTED] Subject: seamleass integration with other application To: WebObjects-List Apple webobjects-dev@lists.apple.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Hi! What are the different approaches for integrating a web object application with other web based/desktop based applications(eg iTunes)? Can we provide the UI component too to other applications? Appreciate if someone cud help. Thanks!! -- Ricardo Strausz [EMAIL PROTECTED] Business Applied C Objects http://homepage.mac.com/strausz/baco +5255 5437 8205 ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: WebSphere connection pool and deadlock - HELP!
Ok, that doesn't seem to be the issue. I have been searching the web (again) and I have identified 2 possible problem areas. One: seems there may be a problem with WebSphere connection pools prematurely closing when the connection/statement/resultset are all in different declared scopes. Seems odd to me but there were several reports where the problem (like mine) went away when the connection/ statement/resultset were all declared locally, used and released within the same scope. Unfortunately I do not see a way to make WebObjects act this way : Two: seems there may be a problem with WebSphere connection pools where the user (WebObjects) tries to set the autocommit flag (either true or false). Since I know WO does set the connection to autocommit false, I am again stuck. Does this sound familiar to anyone? Suggestions ... please. David On 12-May-06, at 1:48 PM, David Aspinall wrote: Ok, that doesn't seem to be the issue. I have been searching the web (again) and I have identified 2 possible problem areas. One: seems there may be a problem with WebSphere connection pools prematurely closing when the connection/statement/resultset are all in different declared scopes. Seems odd to me but there were several reports where the problem (like mine) went away when the connection/statement/resultset were all declared locally, used and released within the same scope. Unfortunately I do not see a way to make WebObjects act this way : Two: seems there may be a problem with WebSphere connection pools where the user (WebObjects) tries to set the autocommit flag (either true or false). Since I know WO does set the connection to autocommit false, I am again stuck. Does this sound familiar to anyone? Suggestions ... please. David On 8-May-06, at 4:18 PM, David Aspinall wrote: I am wondering now if the problem could be the way the applications are packaged as an EAR file. We are currently deploying as 5 different applications within websphere, using one EAR file to deploy all. My new understanding suggests that websphere allocates only one child JVM for the ear file. (as opposed to deploying them as 5 separate EAR or WAR files, where I would get 5 separate JVM's) Could this be the problem? Does anyone have any experience with this? David On 4-May-06, at 1:25 PM, Michael Parlee wrote: Well you've got me. I didn't realize that the PoolingJDBCAdapter uses its own connection pool. I guess I might look at that source code and try to modify it do a JNDI lookup for a connection pool on the app server. Other than that I don't know what to suggest, I can't find anything on the web about WO and J2EE connection pools. The fact that your object store coordinators are deadlocking makes me wonder if in using a new object store coordinator for each EC you are having issues with related objects being spread across multiple object stores. Sorry, I wish I could be more help. Mike On Wednesday, May 03, 2006, at 08:45AM, David Aspinall [EMAIL PROTECTED] wrote: Thanks Michael, I am not using the PoolingJDBCAdaptor. The connection is configured in WebSphere and obtained using JNDI. My raw query tool uses the following to find the connection try { String contextName = java:comp/env/jdbc/DefaultDataSource; InitialContext ctx = new InitialContext(); datasource = (DataSource)ctx.lookup( contextName ); connection = datasource.getConnection(); } catch (NamingException e) { Log.Debug( this.getClass().getName() + .findJNDIDatasource ( InitialContext ): Could not find JNDI/JDBC Context for name ' + contextName + '); throw e; } The problem is not with the raw query tool (in fact the problem takes place without even having used the query tool), the problem is with the regular EOF access. When I give each new EOEdtingContext it's own ObjectStoreCoordinator, then I get a full stack, and a new connection for each stack. EOF seems to find the connections without any problem, but it is locking objects in one stack (connection) that I am trying to save in a different stack. I just cannot see why. The problem also occurs when I use the session default EC for everything, so there should only be one stack... When I kill the connection using EnterpriseManager for SQLServer I get the following backtrace [5/3/06 12:49:38:160 BST] 291adf4c SystemErr R [Imports]: DEBUG: com.webobjects.jdbcadaptor.JDBCAdaptorException: DSRA9110E: Connection is closed. at com.webobjects.jdbcadaptor.JDBCContext.rollbackTransaction (JDBCContext.java:453) at com.webobjects.eoaccess.EODatabaseContext.rollbackChanges (EODatabaseContext.java:6607) at com.webobjects.eoaccess.EODatabaseContext.commitChanges (EODatabaseContext.java:6483) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEdit ingCo ntext(EOObjectStoreCoordinator.java:425)
Help on big relationship
OK, I've seen how to deal with this in the past somewhere on a WWDC video or something, but for the life of me I cannot find the approach right now and I am under the crunch to get this done. I have DataList objects with up to a million related DataRecord objects. DataList and DataRecord are related in a many-to-many join. Usually a DataRecord belongs to no more than 50 DataLists. So regular dataList.dataRecords() obviously crashes my app when huge amount of data records in the relationship. Am I understanding correctly in saying that fetching my one DataList with a million related DataRecords will create a million faults? What is the strategy here? Is it: - turn off the dataRecords class property visibility (diamond icon)? - kill the relationship to dataRecords in the DataList entity and work with qualifiers, fetchspecs and raw rows to grab dataRecords as needed? How does this affect creating relationships just always add the DataList to the DataRecord's dataLists relationship? Any best practice tips, pointers or links to same would be appreciated. Regards, Kieran ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
Kieran, First off, I would certainly get rid of the relationship to the million rows - very nasty stuff. I think I could use a little more info on exactly what the data records are for and what type of access pattern you need before I could make any further recommendations. Oh - in answer to your question, you will only have a single array fault for the million rows until it gets triggered. Then, you'll actually try to load all million rows (so if they actually loaded, they would be real, not faults). Ken On May 12, 2006, at 4:11 PM, Kieran Kelleher wrote: OK, I've seen how to deal with this in the past somewhere on a WWDC video or something, but for the life of me I cannot find the approach right now and I am under the crunch to get this done. I have DataList objects with up to a million related DataRecord objects. DataList and DataRecord are related in a many-to-many join. Usually a DataRecord belongs to no more than 50 DataLists. So regular dataList.dataRecords() obviously crashes my app when huge amount of data records in the relationship. Am I understanding correctly in saying that fetching my one DataList with a million related DataRecords will create a million faults? What is the strategy here? Is it: - turn off the dataRecords class property visibility (diamond icon)? - kill the relationship to dataRecords in the DataList entity and work with qualifiers, fetchspecs and raw rows to grab dataRecords as needed? How does this affect creating relationships just always add the DataList to the DataRecord's dataLists relationship? Any best practice tips, pointers or links to same would be appreciated. Regards, Kieran ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
Except that he mentioned it's a many-to-many, so I'm guessing there is a third entity that is unstated that represents the join class? If so, then THAT would get faulted as an array (one huge million element array), but if you traverse through those objects to the DataRecord (or the DataList the other way, assuming it's not flattened), you'd get a million individual faults. Death by a million cuts :) In one particular case, I have a RawRowList class that supports prefetching. It wraps my raw rows, implements the java.util.List interface and hands back real EOs when I need them. It prefetches ahead of me (when you get an Iterator from it) in blocks of 5 or 10 (or whatever) using. However, this STILL ends up with a big array of raw rows in memory. ERXBatchingDisplayGroup will do REAL batching for you. I would kill your relationship (that is only going to hurt you), make your own fetch spec, and use ERXBatchingDisplayGroup on it. ms On May 12, 2006, at 4:22 PM, Ken Anderson wrote: Kieran, First off, I would certainly get rid of the relationship to the million rows - very nasty stuff. I think I could use a little more info on exactly what the data records are for and what type of access pattern you need before I could make any further recommendations. Oh - in answer to your question, you will only have a single array fault for the million rows until it gets triggered. Then, you'll actually try to load all million rows (so if they actually loaded, they would be real, not faults). Ken On May 12, 2006, at 4:11 PM, Kieran Kelleher wrote: OK, I've seen how to deal with this in the past somewhere on a WWDC video or something, but for the life of me I cannot find the approach right now and I am under the crunch to get this done. I have DataList objects with up to a million related DataRecord objects. DataList and DataRecord are related in a many-to-many join. Usually a DataRecord belongs to no more than 50 DataLists. So regular dataList.dataRecords() obviously crashes my app when huge amount of data records in the relationship. Am I understanding correctly in saying that fetching my one DataList with a million related DataRecords will create a million faults? What is the strategy here? Is it: - turn off the dataRecords class property visibility (diamond icon)? - kill the relationship to dataRecords in the DataList entity and work with qualifiers, fetchspecs and raw rows to grab dataRecords as needed? How does this affect creating relationships just always add the DataList to the DataRecord's dataLists relationship? Any best practice tips, pointers or links to same would be appreciated. Regards, Kieran ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
Also look at ERXFetchSpecificationBatchIterator. I have not directly used this one, but the javadoc sounds promising and it was originally written by Max Muller, so you're pretty safe with it I think :) /** * The goal of the fetch specification batch iterator is * to have the ability to iterate through a fetch specification * that might fetch one million enterprise objects. Fetching all * of the objects into a singel editing context is prohibitive * in the amount of memory needed and in the time taken to * process all of the rows. The iterator allows one to iterate * through the fetched objects only hydrating those objects need * in small bite size pieces. The iterator also allows you to * swap out editing contexts between calls to bnextBatch/b, * which will allow the garbage collector to collect the old * editing context and the previous batch of enterprise objects. */ ms On May 12, 2006, at 4:37 PM, Mike Schrag wrote: Except that he mentioned it's a many-to-many, so I'm guessing there is a third entity that is unstated that represents the join class? If so, then THAT would get faulted as an array (one huge million element array), but if you traverse through those objects to the DataRecord (or the DataList the other way, assuming it's not flattened), you'd get a million individual faults. Death by a million cuts :) In one particular case, I have a RawRowList class that supports prefetching. It wraps my raw rows, implements the java.util.List interface and hands back real EOs when I need them. It prefetches ahead of me (when you get an Iterator from it) in blocks of 5 or 10 (or whatever) using. However, this STILL ends up with a big array of raw rows in memory. ERXBatchingDisplayGroup will do REAL batching for you. I would kill your relationship (that is only going to hurt you), make your own fetch spec, and use ERXBatchingDisplayGroup on it. ms On May 12, 2006, at 4:22 PM, Ken Anderson wrote: Kieran, First off, I would certainly get rid of the relationship to the million rows - very nasty stuff. I think I could use a little more info on exactly what the data records are for and what type of access pattern you need before I could make any further recommendations. Oh - in answer to your question, you will only have a single array fault for the million rows until it gets triggered. Then, you'll actually try to load all million rows (so if they actually loaded, they would be real, not faults). Ken On May 12, 2006, at 4:11 PM, Kieran Kelleher wrote: OK, I've seen how to deal with this in the past somewhere on a WWDC video or something, but for the life of me I cannot find the approach right now and I am under the crunch to get this done. I have DataList objects with up to a million related DataRecord objects. DataList and DataRecord are related in a many-to-many join. Usually a DataRecord belongs to no more than 50 DataLists. So regular dataList.dataRecords() obviously crashes my app when huge amount of data records in the relationship. Am I understanding correctly in saying that fetching my one DataList with a million related DataRecords will create a million faults? What is the strategy here? Is it: - turn off the dataRecords class property visibility (diamond icon)? - kill the relationship to dataRecords in the DataList entity and work with qualifiers, fetchspecs and raw rows to grab dataRecords as needed? How does this affect creating relationships just always add the DataList to the DataRecord's dataLists relationship? Any best practice tips, pointers or links to same would be appreciated. Regards, Kieran ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription:
Re: Sample code wanted...
Randy, What you've laid out is exactly how I've done it before...but sorry, no code samples around. Ken On May 12, 2006, at 4:39 PM, Randy Wigginton wrote: I have an app that involves some LONG operations - literally an hour or more. In this case, I would like to display a page saying Results will be e-mailed to you, then a new thread should perform the processing, then email a WOComponent page. Is there anything similar I can use as a model? Hard to believe this is the first time such a thing is needed (nothing I could find on WOCode.com) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Sample code wanted...
For the long-running part, look at WOLongResponsePage (I don't have a sample handy because I haven't written that up on the wikibook yet :) ) if you want to keep them around waiting (an hour, maybe not). If you want to just spin off a thread, it works pretty much like you would expect. You can just make a new thread and do your thing. Obviously if you're touch EOF, all the usual multithreading issues apply. If you want to be completely separate in EO (not lock the entire object store for an hour potentially), you will need to create your own EOObjectStoreCoordinator in your thread, and create EOEditingContexts from that. It's surprisingly easy to do that part. The annoying part is syncing the two back up later (because you're basically the same problem as multiple instances at that point). However, the quick way is that you can make an EOFetchSpecification in the original object store set it to refresh refetched objects, make its qualifier such that it will pickup your modified/inserted objects, and execute it. For the emailing part: http://en.wikibooks.org/wiki/Programming:WebObjects/Project_WONDER/ Organization/ERJavaMail ms On May 12, 2006, at 4:39 PM, Randy Wigginton wrote: I have an app that involves some LONG operations - literally an hour or more. In this case, I would like to display a page saying Results will be e-mailed to you, then a new thread should perform the processing, then email a WOComponent page. Is there anything similar I can use as a model? Hard to believe this is the first time such a thing is needed (nothing I could find on WOCode.com) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Sample code wanted...
Nice point Mike. Also Randy, please don't reply to old messages to start new threads - it's very annoying for people who organize by thread, or the html versions of the mailing list. Ken On May 12, 2006, at 4:47 PM, Mike Schrag wrote: For the long-running part, look at WOLongResponsePage (I don't have a sample handy because I haven't written that up on the wikibook yet :) ) if you want to keep them around waiting (an hour, maybe not). If you want to just spin off a thread, it works pretty much like you would expect. You can just make a new thread and do your thing. Obviously if you're touch EOF, all the usual multithreading issues apply. If you want to be completely separate in EO (not lock the entire object store for an hour potentially), you will need to create your own EOObjectStoreCoordinator in your thread, and create EOEditingContexts from that. It's surprisingly easy to do that part. The annoying part is syncing the two back up later (because you're basically the same problem as multiple instances at that point). However, the quick way is that you can make an EOFetchSpecification in the original object store set it to refresh refetched objects, make its qualifier such that it will pickup your modified/inserted objects, and execute it. For the emailing part: http://en.wikibooks.org/wiki/Programming:WebObjects/Project_WONDER/ Organization/ERJavaMail ms On May 12, 2006, at 4:39 PM, Randy Wigginton wrote: I have an app that involves some LONG operations - literally an hour or more. In this case, I would like to display a page saying Results will be e-mailed to you, then a new thread should perform the processing, then email a WOComponent page. Is there anything similar I can use as a model? Hard to believe this is the first time such a thing is needed (nothing I could find on WOCode.com) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Sample code wanted...
On May 12, 2006, at 1:39 PM, Randy Wigginton wrote: I have an app that involves some LONG operations - literally an hour or more. In this case, I would like to display a page saying Results will be e-mailed to you, then a new thread should perform the processing, then email a WOComponent page. Is there anything similar I can use as a model? Hard to believe this is the first time such a thing is needed (nothing I could find on WOCode.com) You basically have the idea, I think the thing you're missing is this: component= pageWithName(BigAssPage) response=component.generateResponse() As others have pointed out though, you'll probably want to setup a separate database context, etc. or you'll end up locking everyone out of the database for an hour. Pierce ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Sample code wanted...
The In-Reply-To header is included. From: [EMAIL PROTECTED] Subject: Help on big relationship Date: May 12, 2006 4:11:15 PM EDT To: webobjects-dev@lists.apple.com Message-Id: [EMAIL PROTECTED] From: [EMAIL PROTECTED] Subject: Sample code wanted... Date: May 12, 2006 4:39:32 PM EDT To: webobjects-dev@lists.apple.com In-Reply-To: [EMAIL PROTECTED]KenOn May 12, 2006, at 5:02 PM, Randy Wigginton wrote:Why? What header is copied? Its just an easy way to do a new to an emailaddy that I don't memorize.-Original Message-From: webobjects-dev-bounces+cawineguy=[EMAIL PROTECTED][mailto:webobjects-dev-bounces+cawineguy=[EMAIL PROTECTED]] OnBehalf Of Ken AndersonSent: Friday, May 12, 2006 4:52 PMTo: Mike SchragCc: WebObjects DevelopmentSubject: Re: Sample code wanted...Nice point Mike.Also Randy, please don't reply to old messages to start new threads - it's very annoying for people who organize by thread, or the html versions of the mailing list.KenOn May 12, 2006, at 4:47 PM, Mike Schrag wrote: For the long-running part, look at WOLongResponsePage (I don't have a sample handy because I haven't written that up on the wikibook yet :) ) if you want to keep them around waiting (an hour, maybe not). If you want to just spin off a thread, it works pretty much like you would expect. You can just make a new thread and do your thing. Obviously if you're touch EOF, all the usual multithreading issues apply. If you want to be completely separate in EO (not lock the entire object store for an hour potentially), you will need to create your own EOObjectStoreCoordinator in your thread, and create EOEditingContexts from that. It's surprisingly easy to do that part. The annoying part is syncing the two back up later (because you're basically the same problem as multiple instances at that point). However, the quick way is that you can make an EOFetchSpecification in the original object store set it to refresh refetched objects, make its qualifier such that it will pickup your modified/inserted objects, and execute it.For the emailing part:http://en.wikibooks.org/wiki/Programming:WebObjects/Project_WONDER/ Organization/ERJavaMailmsOn May 12, 2006, at 4:39 PM, Randy Wigginton wrote: I have an app that involves some LONG operations - literally an hour ormore. In this case, I would like to display a page saying "Results will bee-mailed to you", then a new thread should perform the processing, thenemail a WOComponent page. Is there anything similar I can use as a model?Hard to believe this is the first time such a thing is needed (nothing Icould find on WOCode.com) ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.comThis email sent to [EMAIL PROTECTED] ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.comThis email sent to [EMAIL PROTECTED] ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/cawineguy%40gmail.comThis email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
Am 12.05.2006 22:11 Uhr schrieb Kieran Kelleher unter [EMAIL PROTECTED]: OK, I've seen how to deal with this in the past somewhere on a WWDC video or something, but for the life of me I cannot find the approach right now and I am under the crunch to get this done. I have DataList objects with up to a million related DataRecord objects. DataList and DataRecord are related in a many-to-many join. Usually a DataRecord belongs to no more than 50 DataLists. So regular dataList.dataRecords() obviously crashes my app when huge amount of data records in the relationship. Am I understanding correctly in saying that fetching my one DataList with a million related DataRecords will create a million faults? What is the strategy here? Is it: - turn off the dataRecords class property visibility (diamond icon)? - kill the relationship to dataRecords in the DataList entity and work with qualifiers, fetchspecs and raw rows to grab dataRecords as needed? How does this affect creating relationships just always add the DataList to the DataRecord's dataLists relationship? Any best practice tips, pointers or links to same would be appreciated. Hi Kieran you already received valuable input to this problem. But let me try to explain a little different. Always when you are aware of masses of data, you should never expect automatisms to be the perfect solution. This sounds a little of wrong planning. If you know you have masses of data, there should be some very extraordinary reason to fetch them all at once, automatically or not. I can't find a reason, while writing this :-) you wouldn't create a report via EO this way, would you? Based on your knowledge of quantities start planning another way. Try to segment your data on secondary attributes so that you never have tons of data. I would recommend to use custom fetch specifications for this always, based on primary criteria and restrictions from user input. The user should be the limiting entity here. The user is never able to review millions of datasets, nor to read a report of this size... As you can see, i have no fast solution for you... But THINK! Kind regards Wolfram ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
On 12.05.2006, at 22:37 Uhr, Mike Schrag wrote: ERXBatchingDisplayGroup will do REAL batching for you. I would kill your relationship (that is only going to hurt you), make your own fetch spec, and use ERXBatchingDisplayGroup on it. Or the ERXFetchSpecificationBatchIterator directly if you don't want to have a displayGroup. cug ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Help on big relationship
On 12.05.2006, at 22:41 Uhr, Mike Schrag wrote: Also look at ERXFetchSpecificationBatchIterator. I have not directly used this one, but the javadoc sounds promising and it was originally written by Max Muller, so you're pretty safe with it I think :) ;-) I use it often and it works great. With ERXBatchingDisplayGroup you have to a bit careful if you sort on non entity attributes - this may crash, depending on the version. Don't know how the current version handles it. cug ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Disrupted Threads in the Mailing List
Greetings, RANT Ken Anderson has pointed this out a couple times, but I wanted to lend strong support to his statement: ...please don't reply to old messages to start new threads - it's very annoying for people who organize by thread, or the html versions of the mailing list. When asked why, he offered the following succinct justification: === The In-Reply-To header is included. From: [EMAIL PROTECTED] Subject:Some important problem Date: May 12, 2006 4:11:15 PM EDT To: webobjects-dev@lists.apple.com Message-Id: [EMAIL PROTECTED] From: [EMAIL PROTECTED] Subject:A completely new topic Date: May 12, 2006 4:39:32 PM EDT To: webobjects-dev@lists.apple.com In-Reply-To:[EMAIL PROTECTED] === I don't know whether some mail clients have changed recently to include the In-Reply-To header or whether people are replying to old threads with new subjects more often now, but I've been seeing a lot more mixed threads in the last couple months than I remember seeing before that. I like the In-Reply-To: header, because it allows one to change the Subject line to something like Some important problem [SOLVED] and have it remain in the thread. Like Ken, I find it disconcerting to be reading through the messages of a thread and find a completely new subject thrown in the middle of it. (at least the new author did change the subject which I have been accused of failing to do when moving off in tangents, but I digress...). I find it even more disruptive when I'm looking through the archives quickly and find the next message in thread has a new subject, leading me to believe that the thread I'm researching has ended when it hasn't. So I'll add my request to Ken's that people please avoid clicking the Reply button on their mail clients when they wish to start a new thread. /RANT Thanks. Regards, Jerry -- __ Jerry W. Walker, WebObjects Developer/Instructor for High Performance Industrial Strength Internet Enabled Systems [EMAIL PROTECTED] 203 278-4085office ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com