Archive for the 'JavaSpaces' Category
Integrating GigaSpaces persistency service into an existing tier based system
April 23rd, 2008A common issue I’m facing recently is how to integrate existing tier based applications with GigaSpaces persistency service, AKA persistency as a service (Paas) or mirror . The motivation is often a result of the acknowledgment that a standard tier based application fails to scale when facing the database throughput limitation.
Software Caching technologies (overlooking their [...]
.Net Customer Announcement: Susquehanna (SIG)
March 11th, 2008In the past few months we've made several exciting announcements, such as our partnership with SpringSource , the expansion of our executive team, the launch of our community site OpenSpaces.org , the OpenSpaces Developer Challenge and the Start-Up Program . But there is nothing like a customer announcement, as in today's press release [...]
Explaining to your boss (or your wife:)) why tier based architecture doesn’t scale
January 31st, 2008Two weeks ago I had the pleasure of presenting at the NY JavaSIG. The event was hosted by an old friend, Frank Greco, who has been doing a really great work keeping the NY Java community up to date with…
Update on Virgin Mobile post (thanks to Julian Browne)
December 13th, 2007A while ago I posted a note about the success Virgin mobile experienced from switching to a Space-Based Architecture.
I received a comment from Julian Browne that I think is informative and so I make it public here:
***
Hi Owen - a backend system was unavailable for a few hours (honestly I
can’t remember the exact time). It was towards the end of the day’s
activity and it wasn’t back online until after midnight.
We knew this because one of the business managers thought they spotted
a bug in our reporting software after it informed him that more than
100% of orders had just been fulfilled. Never having seen anything
more than a 100% fulfilment rate, he naturally suspected an error.
On investigation we discovered that some of the previous day’s late
orders had been held in the space until the legacy system came back up
and submitted to the warehouse that morning. The system that was
replaced by the space-based approach didn’t do this and would often
lose orders entirely. What he really loved about this was that
managing orders safely in the event of a backend system not being
ready hadn’t even on his list of requirements.
I think there’s been some confusion created by other posts about the
project around order numbers generally. The number of online orders
increased by around three times almost immediately we went live (IT
wasn’t aware of this for a while, the system just scaled up without
any complaint) and over the Christmas period (a stressful time under
the pre-SBA solution) we handled a massive increase in orders
completed (unfortunately I’m not at liberty to say by how much because
it’s commercially sensitive).
I spoke to the online director only a couple of weeks ago and he still
loves it nearly two years later.
***
Thanks Julian,
It is great to know that what was once only a few lines of test code has survived and blossomed into a reference implementation.
Cheers,
Owen.
OpenSpaces.org is alive — project creator will move there soon
December 11th, 2007GigaSpaces has started work on OpenSpaces.org and associated with the pending launch of the site is a call to arms for all who hack.
Check out: Open Spaces Developer Challenge I think there is even a sizable prize involved!
As soon as I can, I will make project creator available on OpenSpaces.org so anyone who wants to can improve it -extend it etc…
Cheers,
Owen.
SBA –all over the world!
October 22nd, 2007Wow!
This Fellow seems to really like GigaSpaces and SBA!!
Check out his blog here.
I wonder where he got his material for the blog…?
I guess the influence of SBA on the architect is felt worldwide.
: )
It does my heart proud to see more and more the path of the parallel and co-located rising up to meet the feet of the technologists who seek it.
Owen.
DemoKit — here are the files I used when recording the last version of the projectcreator screencast
September 11th, 2007If you want to look carefully through the templates and scripts I used for the screencast demo, you can download them in a jar file (it is really a zip) from here
Cheers,
Owen.
Project Creator Version .03
September 11th, 2007(My good friend Toby Found a BUG (NPE) I have since fixed it and added one more trick)
You may download the latest jar from any of the links referring to it.
Such as this one here
(I only have the latest copy available and all links point to the same one)
Note the src.jar is similarly updated and can be found here
Added features:
For those of you who want to add additional files and get really fancy - and in anticipation of supporting Spring Remoting with at least one specified Interface and a possible DAO etc… I have added the ability to do two more things with project creator. (these will no doubt again be improved upon, but for now they suffice to allow me to extend the available use-cases this tool will support)
The Two Added Features:
- First Feature: (Pretty Cool and useable)
Specify the existence of a properties file called customTokens.properties and specify its directory. You specify the flag and also the relative or absolute directory containing customTokens.properties fileexample:
The contents of that properties file is a series of named tokens and their replacement values.
-customTokens ./extraStuffGoesHere
example:
-customTokens c:/tmp/wrk/extraStuffGoesHere
NB: The tokens must all begin with @
example:
# the use of this file allows you to add arbitrary name-value pairs which will
# act as replacement tokens within the massaged (template) files.
# the massaged (template) files are limited to:
# whatever you provide as args to :
# -setServiceTemplateName
# -setPUTemplateName
# -customTemplateFileNameList (comma-separated list of files found in the -templateDir)
# as well as the always generated:
# build.xml
# the sometimes generated:
# dataObject.javasrc
# and the various files generated by the intellij and eclipse handlers
#to avoid name conflicts it is advised to use a prefix such as @username.THETOKEN
# Where username is the prefix and token is the thing you care about
# note that in your template files you will have to provide the complete matching token
@owen.description=/* A really wild ride baby! */
@owen.methodsig= public static void doIt(){
@owen.attribute1=someContent
@owen.property1=SomeContent
- Second Feature: (Kinda ugly and less than simple to get correct)
Specify the existence of additional files to be used as templates (The astute will notice this was hinted at in the comments within the example customTokens.properties file above)
It is important to note that there are several expected conditions within the project creator to enable this to work:
- You must specify the flag -customTemplateFileNameList followed by a comma-delimited string containing the filenames of the extra template files you wish to include
example:
-customTemplateFileNameList Message.javasrc_custom,readme.txt
- If adding additional java source files as templates: You must also specify the flag -customPackageDir and supply a single valid package into which they will *all* be placed
example:
-customPackageDir com.test.common.interfaces
- The package declaration of each of the additional java source templates should also contain this value as either hard-coded or using the following expected token: @customPackageDir
- The filename given to the java source template must contain the string: “javasrc” somewhere
example:
-customTemplateFileNameList ServiceInterface.myjavasrc_secondVersion
- The Resulting java Class or interface will be created using the first-half of the given template filename
example:
ServiceInterface.myjavasrc_secondVersion becomes ServiceInterface.java
- As a result of the above, the Class or Interface name specified within the java template must match the first-half of the given template filename
example:
public interface ServiceInterface extends Serializable{
- Non-Java Files specified as part of -customTemplateFileNameList will be saved into the project root directory and will be given the exact same name as provided template filename
example:
readme.txt becomes readme.txt and is placed in the root directory of the project
Again, the primary reason for adding such additional functionality is for me to be able to offer additional templates and examples of such things as Spring Remoting using OpenSpaces and the use of DAO decoupling - not to mention adding additional monitoring services and their associated datatypes that will store their discovered values using the space.
If you find this additional (restrained) flexibility useful for your purposes as well –great! But feel free to ignore it as well.Finally, an example of a script that uses all the above-described features:
(latest args made available in this release are in bold)
_____________________________________
Example Script: createCustomStuff.cmd
_____________________________________
rem Personal Settings (these change according to each machine environment)
set JAR_FILE_LOCATION=./project-creator.jar
set OUTPUT_DIRECTORY=D:\demoProjectCreator\out
set JAVA_HOME=c:\java\jdk1.5.0_07
if “%JSHOMEDIR%.” == “.” set JSHOMEDIR=c:\GigaSpacesXAP6.0rem Script-specific Configuration Settings:
set PROJECT_NAME=Worker
if “%IDE%.” == “.” set IDE=-eclipse
set SERVICE_TEMPLATE_NAME=service.javasrc_myversion
set PU_TEMPLATE_NAME=pu.xmlsrc
set TEMPLATE_DIR_ARG=-templateDir ./dummytemplatesrem the following points project-creator to
rem the directory containing customTokens.properties :set CUSTOM_TOKENS_ARG=-customTokens ./dummytemplates
rem the following tells project-creator that the additional
rem template files specified will exist in the -templateDir
set CUSTOM_TEMPLATES_ARG=-customTemplateFileNameList Message.javasrc_custom
set CUSTOM_PACKAGE_DIR_ARG=-customPackageDir com.test.common
rem General Options
rem elect to overwrite existing projects with same name:
set OVERWRITE_OPTION=-overwritecall %JAVA_HOME%\bin\java -jar %JAR_FILE_LOCATION% %IDE% %OVERWRITE_OPTION% -project %PROJECT_NAME% -out %OUTPUT_DIRECTORY% -setServiceTemplateName %SERVICE_TEMPLATE_NAME% -setPUTemplateName %PU_TEMPLATE_NAME% -gigaHome %JSHOMEDIR% %TEMPLATE_DIR_ARG% %CUSTOM_TOKENS_ARG% %CUSTOM_TEMPLATES_ARG% %CUSTOM_PACKAGE_DIR_ARG%
_____________________________________
End Of Example Script: createCustomStuff.cmd
_____________________________________
Cheers,Owen.
version .02 Update to project-creator.jar –Make your own templates!
September 7th, 2007I have made another fix to the project-creator.jar found here.
This fix allows you to specify
-templateDir X
where
X = path relative to the directory from which the script is invoked
or
X = Absolute pathexample:
Let’s say I want to create a new template for my data Object so that it always has a defined String property.
I create a file called “dataObject.javasrc” (because that is currently the only name available for the dataObject template file)
The file could look like this:
***package @packageName.common;
public class @dataObjectName {
private String dummyValue;
public void setDummyValue(String val){dummyValue=val;}
public String getDummyValue(){return dummyValue};
}***
I save that file in:
c:\tmp\openspaces\mytemplatesin c:\tmp\openspaces I have a script that looks like this: (changes from previous examples are in different font)
****
rem Personal Settings (these change according to each machine environment)
set JAR_FILE_LOCATION=./project-creator.jar
set OUTPUT_DIRECTORY=c:/tmp/openspaces/output
set JAVA_HOME=c:\java\jdk1.5.0_07
if “%JSHOMEDIR%.” == “.” set JSHOMEDIR=c:\GigaSpacesXAP6.0rem Script-specific Configuration Settings:
set PROJECT_NAME=Worker
if “%IDE%.” == “.” set IDE=-eclipse
set SERVICE_TEMPLATE_NAME=service.javasrc_myversion
set PU_TEMPLATE_NAME=pu.xmlsrcset TEMPLATE_DIR=-templateDir ./mytemplates
rem General Options
rem elect to overwrite existing projects with same name:
set OVERWRITE_OPTION=-overwritecall %JAVA_HOME%\bin\java -jar %JAR_FILE_LOCATION% %IDE% %OVERWRITE_OPTION% -project %PROJECT_NAME% -out %OUTPUT_DIRECTORY% -setServiceTemplateName %SERVICE_TEMPLATE_NAME% -setPUTemplateName %PU_TEMPLATE_NAME% -gigaHome %JSHOMEDIR% %TEMPLATE_DIR%
****
If I call that script from the c:\tmp\openspaces directory all will be well and it will find my new version of the dataObject.javasrc file.
If I do not want to call it from that dir everytime, I can instead provide the arg:
set TEMPLATE_DIR=-templateDir c:/tmp/openspaces/mytemplates
and call the script from anywhere.If the template needed for an operation is not provided in your specified TEMPLATE_DIR, projectcreator will look for it in the jar file as usual.
The template directory structure is as follows:
/%templateDir%
/%templateDir%/eclipse
/%templateDir%/intellijAll the templates are stored in the root of the templateDir except the files used for eclipse and intellij.
Some of the templates you can create must have certain names such as:
build.xml
any of the eclipse or intellij files
dataObject.javasrcThe template files used for the Service.java and pu.xml files can be given any name you like.
Within the templates you create you can currently use any of the following as replacement tokens: (consult the source code found here for more details)
@projectName (Name of the project you want to build)
@spaceName (Name of the space you want to connect to ex: MySpace)
@propertySpaceName (Name of the space with a lowercased first letter – derived from @spaceName ex: mySpace)
@varGSHome (Path to [and including] Root Directory of your XAP installation)
@spaceUrl (This is derived from the @spaceName and your choice of remote or embedded)
@packageName (You specify this as the package for your first service in this Project)
@packageDir (This is derived from the @packageName)
@serviceName (You specify this as the name of your service class)
@dataObjectName (You specify this as the name of your data class (note the package name will set to @packageName.common to ensure this class is packaged in a separate jar file for classloading purposes)I hope this addition makes this utility even more fun to use.
Cheers,
Owen.
Project Creator Demo: tutorial (Webcast -no sound)
September 6th, 2007I have created a webcast tutorial that should prove instructive to those seeking to utilize the projectcreator utility.
It demonstrates how to create the scripts, get the jar, build a simple application and run it.
It is my hope this will encourage more successful use of this tool and of the OpenSpaces platform.
Note that the webcast moves very quickly so you may want to ready the pause button to catch all the details. . . uh.. “there is no pause button…”
Sorry. Let me know if it is unusable the way it is.You can watch the webcast by clicking the following link: projectcreator_tutorial_noSound
Remember: project-creator is *not* supported by GigaSpaces, but OpenSpaces and GigaSpaces are.
: )
–if you have questions regarding the use of the GigaSpaces core services or the OpenSpaces Spring abstraction layer, check out the award-winning documentation found: here .
And if you still have concerns, you can register with the online users forum and post them to the GigaSpaces Forum.HTH
Cheers,
Owen.
Alternate Script to create projects using ProjectCreator and update to jar
September 5th, 2007Hi,
I have made a small adjustment to one of the template files in the project-creator.jar. This means that *all* eclipse projects will be generated with a classpath that includes the variable GS_HOME . This variable will point to whatever you (the owner of the running eclipse instance) determines it should point to.
BTW: It needs to point to the home directory for your installation of GigaSpacesXAP6.0
To accomplish this:
1) create the project using projectcreator
2) import the project into eclipse version 3.3 (europa)
3) right-click on the project and select
Build Path | Configure Build Path…
4) select
Add Variable | Configure Variables…
5) select
New…
6) enter the following in the two fields
Name: GS_HOME
Path: [browse_to_the_home_directory_of_your_installation_of_GigaSpacesXAP6.0]
(
On my system, in eclipse I have configured GS_HOME to point to
c:\GigaSpacesXAP6.0
)
7) click OK
do a rebuild
9) ignore the warning that the path is not a jar file (we know that already)
10) Find your way back to the project and look: the red x is gone!The Variable GS_HOME should now be resolved and reusable for future projects in eclipse.
In addition, I noticed mucho redundancy in the scripts I offered in my previous posts.
The eclipse and intellij versions are now identical except for the value provided for the IDE variable.
The following scripts are hopefully clearer alternates you can use to create the various projects:
____________________________
file: createPublisher.cmd
____________________________rem #### if you are using intellij: before calling this script, configure the following:
rem #### set IDE=-intellij
rem ####rem This script starts the projectCreator so as to create a PU containing a TimerTask – a SpringBean that gets invoked over and over again by a Timer. Configure how often to do this in the PU.xml Note this is good for a feed or driver and usually means you will elect to have a remote space.
rem In addition: if the IDE is set to -eclipse:
rem ProjectCreator determines that the classpath in the eclipse project uses an eclipse-specific GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.rem Personal Settings (these change according to each machine environment)
set JAR_FILE_LOCATION=./project-creator.jar
set OUTPUT_DIRECTORY=C:\tmp\projectcreator
set JAVA_HOME=c:\java\jdk1.5.0_07
if “%JSHOMEDIR%.” == “.” set JSHOMEDIR=c:\GigaSpacesXAP6.0rem Script-specific Configuration Settings:
set PROJECT_NAME=Publisher
if “%IDE%.” == “.” set IDE=-eclipse
set SERVICE_TEMPLATE_NAME=service.javasrc_timerTask
set PU_TEMPLATE_NAME=pu.xmlsrc_timerTaskrem General Options
rem elect to overwrite existing projects with same name:
set OVERWRITE_OPTION=-overwritecall %JAVA_HOME%\bin\java -jar %JAR_FILE_LOCATION% %IDE% %OVERWRITE_OPTION% -project %PROJECT_NAME% -out %OUTPUT_DIRECTORY% -setServiceTemplateName %SERVICE_TEMPLATE_NAME% -setPUTemplateName %PU_TEMPLATE_NAME% -gigaHome %JSHOMEDIR%
____________________________
____________________________
file: createNotifyListener.cmd
____________________________rem #### if you are using intellij: before calling this script, configure the following:
rem #### set IDE=-intellij
rem ####rem This script starts the projectCreator so as to create a PU containing a NotifyContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. Note this is good for a listener (a take is not performed as part of the NotifyContainer operation) and could be implemented with either a remote or embedded space.
rem In addition: if the IDE is set to -eclipse:
rem ProjectCreator determines that the classpath in the eclipse project uses an eclipse-specific GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.rem Personal Settings (these change according to each machine environment)
set JAR_FILE_LOCATION=./project-creator.jar
set OUTPUT_DIRECTORY=C:\tmp\projectcreator
set JAVA_HOME=c:\java\jdk1.5.0_07
if “%JSHOMEDIR%.” == “.” set JSHOMEDIR=c:\GigaSpacesXAP6.0rem Script-specific Configuration Settings:
set PROJECT_NAME=NotifyListener
if “%IDE%.” == “.” set IDE=-eclipse
set SERVICE_TEMPLATE_NAME=service.javasrc
set PU_TEMPLATE_NAME=pu.xmlsrc_notifyContainerrem General Options
rem elect to overwrite existing projects with same name:
set OVERWRITE_OPTION=-overwritecall %JAVA_HOME%\bin\java -jar %JAR_FILE_LOCATION% %IDE% %OVERWRITE_OPTION% -project %PROJECT_NAME% -out %OUTPUT_DIRECTORY% -setServiceTemplateName %SERVICE_TEMPLATE_NAME% -setPUTemplateName %PU_TEMPLATE_NAME% -gigaHome %JSHOMEDIR%
_______________________________
file: createPollingWorker.cmd
____________________________rem #### if you are using intellij: before calling this script, configure the following:
rem #### set IDE=-intellij
rem ####rem This script starts the projectCreator so as to create a PU containing a PollingContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. NB: The PollingContainer removes (takes) the interesting information from the Space!
rem Note this is good for a worker and usually means you will elect to have an embedded space.rem In addition: if the IDE is set to -eclipse:
rem ProjectCreator determines that the classpath in the eclipse project uses an eclipse-specific GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.rem Personal Settings (these change according to each machine environment)
set JAR_FILE_LOCATION=./project-creator.jar
set OUTPUT_DIRECTORY=C:\tmp\projectcreator
set JAVA_HOME=c:\java\jdk1.5.0_07
if “%JSHOMEDIR%.” == “.” set JSHOMEDIR=c:\GigaSpacesXAP6.0rem Script-specific Configuration Settings:
set PROJECT_NAME=PollingWorker
if “%IDE%.” == “.” set IDE=-eclipse
set SERVICE_TEMPLATE_NAME=service.javasrc
set PU_TEMPLATE_NAME=pu.xmlsrcrem General Options
rem elect to overwrite existing projects with same name:
set OVERWRITE_OPTION=-overwritecall %JAVA_HOME%\bin\java -jar %JAR_FILE_LOCATION% %IDE% %OVERWRITE_OPTION% -project %PROJECT_NAME% -out %OUTPUT_DIRECTORY% -setServiceTemplateName %SERVICE_TEMPLATE_NAME% -setPUTemplateName %PU_TEMPLATE_NAME% -gigaHome %JSHOMEDIR%
________________________________
Cheers,
Owen.
ProjectCreator now supports IntelliJ & Eclipse !
August 29th, 2007Well, it is time to announce another update to the project creator utility.
This latest project-creator jar can be found HERE.
It now supports the creation of projects for intellij as well as eclipse… Hooray!

..
Please note that with this change, the scripts I published have one change that is necessary for both eclipse and intellij and one option that enables the intellij project creation.The change for all scripts is the use of -gigaHome in place of -gigaHomeVar
The option for intellij is -intellij (in place of the still available -eclipse)Here follows some example scripts for the creation of OpenSpaces projects :
rem ……
……
……___________________________________________
NOTIFYCONTAINER_INTELLIJ (listener)
___________________________________________rem Intellij Version
rem This script starts the projectCreator so as to create a PU containing a NotifyContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. Note this is good for a listener (a take is not performed as part of the NotifyContainer operation) and could be implemented with either a remote or embedded space.set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -intellij -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc -setPUTemplateName pu.xmlsrc_notifyContainer -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
NOTIFYCONTAINER_ECLIPSE (listener)
___________________________________________rem Eclipse Version
rem This script starts the projectCreator so as to create a PU containing a NotifyContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. Note this is good for a listener (a take is not performed as part of the NotifyContainer operation) and could be implemented with either a remote or embedded space.rem In addition: This script specifies that the classpath in the eclipse project uses a GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.
set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -eclipse -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc -setPUTemplateName pu.xmlsrc_notifyContainer -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
POLLINGCONTAINER_INTELLIJ (worker)
___________________________________________rem Intellij Version
rem This script starts the projectCreator so as to create a PU containing a PollingContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. Note this is good for a worker and usually means you will elect to have an embedded space.set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -intellij -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc -setPUTemplateName pu.xmlsrc -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
POLLINGCONTAINER_ECLIPSE (worker)
___________________________________________rem Eclipse Version
rem This script starts the projectCreator so as to create a PU containing a PollingContainer – a SpringBean with a default method that gets invoked when a matching object appears or is modified in the space. Note this is good for a worker and usually means you will elect to have an embedded space.rem In addition: This script specifies that the classpath in the eclipse project uses a GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.
set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -eclipse -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc -setPUTemplateName pu.xmlsrc -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
TIMERTASK_INTELLIJ (publisher)
___________________________________________rem Intellij Version
rem This script starts the projectCreator so as to create a PU containing a TimerTask – a SpringBean that gets invoked over and over again by a Timer. Configure how often to do this in the PU.xml Note this is good for a feed or driver and usually means you will elect to have a remote space.set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -intellij -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc_timerTask -setPUTemplateName pu.xmlsrc_timerTask -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
TIMERTASK_ECLIPSE (publisher)
___________________________________________rem Eclipse Version
rem This script starts the projectCreator so as to create a PU containing a TimerTask – a SpringBean that gets invoked over and over again by a Timer. Configure how often to do this in the PU.xml Note this is good for a feed or driver and usually means you will elect to have a remote space.rem In addition: This script specifies that the classpath in the eclipse project uses a GS_HOME variable in the same way the examples that come with the product do – this makes for a more portable project. Note that the build.xml file created as part of the project will still use an explicit path and will need to be edited if the project is used in a new environment and the ant tasks are invoked.
set JAVA_HOME=c:\java\jdk1.5.0_07
call %JAVA_HOME%\bin\java -jar project-creator.jar -eclipse -overwrite -project test -out C:\tmp\projectcreator -setServiceTemplateName service.javasrc_timerTask -setPUTemplateName pu.xmlsrc_timerTask -gigaHome c:\GigaSpacesXAP6.0rem ##end of script##
___________________________________________
It is my hope that those of you who held off trying out OpenSpaces to this point will download the XAP 6.0 version of GigaSpaces and the project-creator jar found
HERE and get to work building the next greatest software solution!
Cheers,
Owen.
- You must specify the flag -customTemplateFileNameList followed by a comma-delimited string containing the filenames of the extra template files you wish to include







