parc-users Mailing List for Pipeline Architecture
Brought to you by:
pmckinstry
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
2004 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: McKinstry, P. (HQP) <Pet...@rh...> - 2004-03-11 01:33:50
|
Neil passed along some good bug fixes for the JDBCInputAdapter. It was DB2 specific in the way that it expected to handle batches of records. I commited his changes & added a new DB2JDBCInputAdapter that performs the old way. For anyone using it that needs the existing functionality, you can just prepend DB2 to the InputAdapter name in your config & you'll be good to go. -pgm Pete McKinstry IT Web Applications Robert Half Intl phone: 925.598.5422 email: pet...@rh... |
From: Pete M. <pet...@ya...> - 2003-11-19 05:58:16
|
This release is very minor. It provides the ability to sleep between execution cycles. If you are using the InfiniteLoopStrategy or maybe the ConditionalLoopStrategy, you may find it useful to pause the interface for a bit between cycles. Enjoy! Let me know if you have any questions. -pgm __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree |
From: McKinstry, P. (HQP) <Pet...@rh...> - 2003-10-23 18:30:14
|
The bug fix for CompositeProperties has been applied. (thanks Vaibhav). I patched the .9.3 versions of the jar & source zip files last night. So if you want to update, those files are the right ones. -pgm Pete McKinstry IT Web Applications Robert Half Intl phone: 925.598.5422 email: pet...@rh... |
From: Pete M. <pet...@ya...> - 2003-09-13 05:56:03
|
I made a change to the threadpool impl & the output records task to more properly handle uncaught exceptions during output adapter processing. Thanks Vaibhav for reporting this error. The output records task was changed to catch throwable & report it as a fatal exception (just like processingexception, auditexception, and transactionexception) The threadpoolimpl was hanging when a worker thread exited improperly. It was waiting in the join() method for each worker thread to mark the work complete. If the thread exited w/ a runtime or other uncaught exception, the flag was never flipped. It's been changed to check for work complete OR thread death. These fixes only affect improperly coded output adapters. -pgm __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |
From: Pete M. <pet...@ya...> - 2003-08-23 07:27:34
|
Vaibhav has added some support for nested property files. This is especially useful when using multiple datasources within a single parc application. Take a look @ CompositeProperties.java along w/ it's unit test to see how this works. Thanks Vaibhav! On another note, to support multiple data sources, some changes were required to the DataSourceFactory, and the DBUtil class. The DataSourceFactory used to take a Properties object that contained the configuration data for a certain data source. It has now changed to pass a data source name which keys to a set of values in the configuration repositories. It is nicer to use, but has a drawback. It breaks backward compatibility w/ existing code. You now have to either use DBUtil.getDataSource(), which retrieves the default data source or DBUtil.getDataSource(String name) which retrieves the named datasource. The DataSource objects are also now loaded @ startup instead of lazily upon first request. For users who got a DataSource by calling DBUtil.getDataSource(), the required changes are minimal. Basically you have to change your configuration repository (properties file, database, whatever) to prefix the datasource properties w/ DataSource.default. For an example of the change, take a look @ the DataSourceFactoryTest.properties. If users have been calling the DataSourceFactory directly & not going through the DBUtil.java class, the changes are more significant. They will need to change the calls to pass a String ("default" for the above example) instead of the actual properties object. Anyway, I think the changes are a positive move, but I wanted to get other peoples feedback on how painful this change would be. Should we spend more time & find a better compromise or is changing the property prefixes minor enough that people are fine w/ it? Comments? -pgm __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |
From: Ranjangaonkar, V. (HQP) <Vai...@rh...> - 2003-08-21 22:37:02
|
Yes, perfect ! first 2 sound reasonable and I can do that when I have access to CVS source. But, first I need to build parc with the modified source in my sandbox. I will write a ConfigMixin implementation ( called PropertiesConfigMixin ) and will send for review.... ----Original Message----- From: McKinstry, Pete (HQP) Sent: Thursday, August 21, 2003 3:28 PM To: Ranjangaonkar, Vaibhav (HQP) Cc: 'par...@li...' Subject: RE: DataSourceFactory and DBUtil source I would think we would want to change the BatchApplication class which loads the properties instead of the PARCApplication. There are 2 useful subclasses of BatchApplication: PARCApplication, which assumes a single InputAdapter->{Filter Pipeline}->OutputAdapter set. And PBApplication, which implements the GOF composite pattern and allows any number of IA->Pipeline->OA sets (referred to as a "Process" -> see Process.java) to be strung together. Both would benefit from the ability to nest properties files. I guess the default parc jar has no ConfigMixin examples. That should be fixed. The current example application that ships works because it passes a System property (-D) on the cmdline telling PARC what properties file to use. We should be providing a ConfigMixin implementation for loading from a properties file as well. Anyway, I think we should do 3 things: 1) Include your CompositeProperties class in the parc code base. 2) Fix BatchApplication use the CompositeProperties class. 3) Write a ConfigMixin implementation that loads from a Properties file. Sound reasonable? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 2:08 PM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source Changed DataSourceFactory as per our discussion, please review this. But, to use CompositeProperties in the initilal part ( when application starts ), I had to override getProperty( ) method in PARCApplication. Extended application code is attached. In order to add to PARC, we will have to change base class BatchApplication itself. Let me know your thoughts, Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Thursday, August 21, 2003 10:24 AM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source Let's do it. Make CompositeProperties resolve references as you've described and we can fix PARC to use it. -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 10:16 AM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source Yes, that's what we should do, actually, I misunderstood this part about the "#include" syntax before, I thught that with "#include" syntax, we are deviating from the Properties file syntax and we will have to write whole parsing logic ourselves. But, now I see what you mean, the property file to be included should be prefixed with "include." and this reference will be resolved initially, so all the modules will see properties file as you have shown in 'after loading' part. Yes, that's what we should do. If users prefer to enter all the values in config.properties instead of separating into another .properties file. And that's what is done by CompositeProperties class, after resolving references, it will put properties into main file as datasourceA.db_url, the same way as you are thinking here. So, with the use of CompositeProperties, this can be supported easily. I guess, I didn't clarify this part properly in earlier emails. So, what do you think, how should we go ahead from here ? Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Thursday, August 21, 2003 10:03 AM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source I can certainly understand your position. I'm just hesitant to require extra property files for everyone. I'm wondering if we can support both models? Perhaps via a prefix in the main property file we can identify named DataSource parameters, but also allow the inclusion of other property files. The property files would not need to require a prefix on the name if we appended it when we loaded them. E.g. # config.properties include.datasourceA=cia.properties # cia.properties db_url=xxx username=scott password=tiger driver=com.oracle.xxx after loading, becomes: datasourceA.db_url-xxx datasourceA.username=scott datasourceA.password=tiger datasourceA.driver=com.oracle.xxx But, the user could also include the final syntax in the main properties file if they so desire. What do you think? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 9:28 AM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source So, I think referencing other property files from the main one is like #include only. It has additional advantage of being still a properties file, whereas, if we add a syntax like #include it will be a different config file and we will have to parse it and still it will be similar to what is done in CompositeProperties. We can also use CompositeProperties to parse this main config.properties and then handover resolved Properties object to all the subsequent init() methods. Keeping properties separate is my preferred approach as it keeps them structured and avoids copy-paste kind of reuse. For us, we will have these properties file changing with environements like, webdev.properties & ciadev.properties in sandbox, webfix.properties & ciafix.properties in mirror. If we copy-paste entries in config.properties to avoid a separate properties file, we need to change all the entries related to datasource config in all the interface file as the environment changes. That's more work than having separate properties file. Then, this is not just the issue with DataSource configuration, same issue might arise for other subsystems of PARC like, logging or adapters. I am going to add another set of properties files for specifying sql queries and other config things for InputAdapter. So, in general, I don't like having all the properties broken up in main config.properties. And, I don't see the difference between providing #include option and mentioning a properties file name as value for config key. That's my opinion, maybe I am missing something here ... Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Wednesday, August 20, 2003 6:02 PM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source Do you think it's worth thinking about whether we could include these 2 property files inside the core config.properties? I'm just worried about proliferation of config files. If we could come up w/ a naming standard, there doesn't seem to be any reason we couldn't load the DS specific props from the common file. We could also add a syntax to #include extra config files in the common one. That would be a cool addition. thoughts? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Wednesday, August 20, 2003 9:22 AM To: McKinstry, Pete (HQP) Subject: DataSourceFactory and DBUtil source Hi Pete, Please take a look at these 2 changes for supporting multiple data sources, With this change, config.properties will look like this for 2 data sources - DataSource.web=webdev.properties DataSource.cia=ciadev.properties and classes needing these will call DBUtil.getDataSource( "web" ). Let me know is something is not correct or missing, mainly, if it goes with other parts and overall design of the framework. Thanks, Vaibhav |
From: McKinstry, P. (HQP) <Pet...@rh...> - 2003-08-21 22:28:27
|
I would think we would want to change the BatchApplication class which loads the properties instead of the PARCApplication. There are 2 useful subclasses of BatchApplication: PARCApplication, which assumes a single InputAdapter->{Filter Pipeline}->OutputAdapter set. And PBApplication, which implements the GOF composite pattern and allows any number of IA->Pipeline->OA sets (referred to as a "Process" -> see Process.java) to be strung together. Both would benefit from the ability to nest properties files. I guess the default parc jar has no ConfigMixin examples. That should be fixed. The current example application that ships works because it passes a System property (-D) on the cmdline telling PARC what properties file to use. We should be providing a ConfigMixin implementation for loading from a properties file as well. Anyway, I think we should do 3 things: 1) Include your CompositeProperties class in the parc code base. 2) Fix BatchApplication use the CompositeProperties class. 3) Write a ConfigMixin implementation that loads from a Properties file. Sound reasonable? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 2:08 PM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source Changed DataSourceFactory as per our discussion, please review this. But, to use CompositeProperties in the initilal part ( when application starts ), I had to override getProperty( ) method in PARCApplication. Extended application code is attached. In order to add to PARC, we will have to change base class BatchApplication itself. Let me know your thoughts, Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Thursday, August 21, 2003 10:24 AM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source Let's do it. Make CompositeProperties resolve references as you've described and we can fix PARC to use it. -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 10:16 AM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source Yes, that's what we should do, actually, I misunderstood this part about the "#include" syntax before, I thught that with "#include" syntax, we are deviating from the Properties file syntax and we will have to write whole parsing logic ourselves. But, now I see what you mean, the property file to be included should be prefixed with "include." and this reference will be resolved initially, so all the modules will see properties file as you have shown in 'after loading' part. Yes, that's what we should do. If users prefer to enter all the values in config.properties instead of separating into another .properties file. And that's what is done by CompositeProperties class, after resolving references, it will put properties into main file as datasourceA.db_url, the same way as you are thinking here. So, with the use of CompositeProperties, this can be supported easily. I guess, I didn't clarify this part properly in earlier emails. So, what do you think, how should we go ahead from here ? Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Thursday, August 21, 2003 10:03 AM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source I can certainly understand your position. I'm just hesitant to require extra property files for everyone. I'm wondering if we can support both models? Perhaps via a prefix in the main property file we can identify named DataSource parameters, but also allow the inclusion of other property files. The property files would not need to require a prefix on the name if we appended it when we loaded them. E.g. # config.properties include.datasourceA=cia.properties # cia.properties db_url=xxx username=scott password=tiger driver=com.oracle.xxx after loading, becomes: datasourceA.db_url-xxx datasourceA.username=scott datasourceA.password=tiger datasourceA.driver=com.oracle.xxx But, the user could also include the final syntax in the main properties file if they so desire. What do you think? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Thursday, August 21, 2003 9:28 AM To: McKinstry, Pete (HQP) Subject: RE: DataSourceFactory and DBUtil source So, I think referencing other property files from the main one is like #include only. It has additional advantage of being still a properties file, whereas, if we add a syntax like #include it will be a different config file and we will have to parse it and still it will be similar to what is done in CompositeProperties. We can also use CompositeProperties to parse this main config.properties and then handover resolved Properties object to all the subsequent init() methods. Keeping properties separate is my preferred approach as it keeps them structured and avoids copy-paste kind of reuse. For us, we will have these properties file changing with environements like, webdev.properties & ciadev.properties in sandbox, webfix.properties & ciafix.properties in mirror. If we copy-paste entries in config.properties to avoid a separate properties file, we need to change all the entries related to datasource config in all the interface file as the environment changes. That's more work than having separate properties file. Then, this is not just the issue with DataSource configuration, same issue might arise for other subsystems of PARC like, logging or adapters. I am going to add another set of properties files for specifying sql queries and other config things for InputAdapter. So, in general, I don't like having all the properties broken up in main config.properties. And, I don't see the difference between providing #include option and mentioning a properties file name as value for config key. That's my opinion, maybe I am missing something here ... Thanks, Vaibhav -----Original Message----- From: McKinstry, Pete (HQP) Sent: Wednesday, August 20, 2003 6:02 PM To: Ranjangaonkar, Vaibhav (HQP) Subject: RE: DataSourceFactory and DBUtil source Do you think it's worth thinking about whether we could include these 2 property files inside the core config.properties? I'm just worried about proliferation of config files. If we could come up w/ a naming standard, there doesn't seem to be any reason we couldn't load the DS specific props from the common file. We could also add a syntax to #include extra config files in the common one. That would be a cool addition. thoughts? -pgm -----Original Message----- From: Ranjangaonkar, Vaibhav (HQP) Sent: Wednesday, August 20, 2003 9:22 AM To: McKinstry, Pete (HQP) Subject: DataSourceFactory and DBUtil source Hi Pete, Please take a look at these 2 changes for supporting multiple data sources, With this change, config.properties will look like this for 2 data sources - DataSource.web=webdev.properties DataSource.cia=ciadev.properties and classes needing these will call DBUtil.getDataSource( "web" ). Let me know is something is not correct or missing, mainly, if it goes with other parts and overall design of the framework. Thanks, Vaibhav |
From: McKinstry, P. (HQP) <Pet...@rh...> - 2002-11-04 16:25:53
|
Testing to make sure the lists are working.... -pgm Pete McKinstry IT Web Applications Robert Half Int'l *: 925.598.5422 *: pet...@rh... |