<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,7 @@
 
 == Instructions
 
-Requires the following jars in your application container
+Requires the following jars in your application container and if running with just jruby place these in your $JRUBY_HOME/lib
 
 commons-collections-3.2.x.jar
 commons-logging.jar
@@ -30,13 +30,11 @@ cron expression representing the frequency of the job(s) you want to with it:
 
 class IntegrationScheduler &lt; BaseScheduler
 
-  private
-
-  def initialize
+  def initialize(cron_expression)
     super
+    @cron_expression = cron_expression
     @base_jobs_group = &quot;IntegrationJobs&quot;
     @base_triggers_group = &quot;IntegrationTriggers&quot;
-    @cron_expression = &quot;0 0/1 * * * ?&quot;
   end
 end
 
@@ -57,14 +55,11 @@ Notice the Rails.env /container/, I defined custom environments that only run wh
 inside a Java container so that the schedule! method doesn't get fired off during
 testing. 
 
-****If you don't do this the schedule! method is fired off a Quartz thread pool
-is spun up.****
 
-if RUBY_PLATFORM =~ /java/ &amp;&amp; Rails.env =~ /container/
+if RUBY_PLATFORM =~ /java/
 
-  CustomerLoadScheduler.instance.schedule!(Jobs::CustomerLoadJob)
-  LoggerOneScheduler.instance.schedule!(Jobs::LoggerOneJob)
-  LoggerTwoScheduler.instance.schedule!(Jobs::LoggerTwoJob)
+  LoggerOneScheduler.new(&quot;0 0/1 * * * ?&quot;).schedule!(Jobs::LoggerOneJob)
+  LoggerTwoScheduler.new(&quot;0 0/2 * * * ?&quot;).schedule!(Jobs::LoggerTwoJob)
 
 end
 
@@ -75,5 +70,5 @@ only with Rails 2.2 or higher because thread safety == 1 runtime
 
 === Other
 
-Problems, comments, and suggestions all welcome. nick@controlaltcreate.com or visit my blog
-http://techwhizbang.com
\ No newline at end of file
+Problems, comments, and suggestions all welcome. techwhizbang@gmail.com or visit my blog
+http://techwhizbang.com</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 Gem::Specification.new do |s|
   s.name   = &quot;jruby-quartz&quot;
   s.summary = &quot;A JRuby implementation of the Quartz scheduling framework that makes it easy to integrate into Ruby and Rails based projects.&quot;
-  s.version = &quot;0.2&quot;
+  s.version = &quot;1.0&quot;
   s.author = 'Nick Zalabak'
   s.description = &quot;Jruby-Quartz is a wrapper library for the Java based Quartz scheduling framework.&quot;
   s.email = 'techwhizbang@gmail.com'</diff>
      <filename>jruby-quartz.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'singleton'
-
 import org.quartz.SchedulerFactory
 import org.quartz.SchedulerException
 import org.quartz.Scheduler
@@ -9,11 +7,19 @@ import org.quartz.SimpleTrigger
 import org.quartz.impl.StdSchedulerFactory
 
 class BaseScheduler
-  include Singleton
   attr_reader :scheduler_factory
 
   attr_accessor :base_jobs_group, :base_triggers_group
   attr_accessor :job_name, :trigger_name, :cron_expression
+  
+  def initialize(cron_expression)
+    @scheduler_factory = initialize_scheduler_factory
+    @base_jobs_group = &quot;BaseJobsGroup&quot;
+    @base_triggers_group = &quot;BaseTriggersGroup&quot;
+    @job_name = &quot;BaseJob&quot;
+    @trigger_name = &quot;BaseTrigger&quot;
+    @cron_expression = cron_expression
+  end
 
   def fire!(job_class, options={})
     raise &quot;Not implemented yet&quot;
@@ -21,7 +27,7 @@ class BaseScheduler
 
   def schedule!(job_class, options={})
     begin
-      scheduler = self.scheduler_factory.get_scheduler
+      scheduler = scheduler_factory.get_scheduler
       scheduler.set_job_factory(job_factory.new)
       detail = job_detail.new(self.job_name,
                               self.base_jobs_group,
@@ -62,18 +68,6 @@ class BaseScheduler
     CronTrigger
   end
 
-  private
-
-  def initialize
-    super
-    @scheduler_factory = initialize_scheduler_factory
-    @base_jobs_group = &quot;BaseJobsGroup&quot;
-    @base_triggers_group = &quot;BaseTriggersGroup&quot;
-    @job_name = &quot;BaseJob&quot;
-    @trigger_name = &quot;BaseTrigger&quot;
-    @cron_expression = &quot;0 0/1 * * * ?&quot;
-  end
-
   class SchedulerError &lt; StandardError; end
 
 end</diff>
      <filename>lib/base_scheduler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,5 +4,5 @@ require File.expand_path(File.dirname(__FILE__) + '/jobs/base_job_detail')
 require File.expand_path(File.dirname(__FILE__) + '/jobs/base_job_factory')
 
 module JrubyQuartz
-  VERSION = '0.2'
+  VERSION = '1.0'
 end</diff>
      <filename>lib/jruby-quartz.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
 
 class IntegrationScheduler &lt; BaseScheduler
 
-  private
-
-  def initialize
+  def initialize(cron_expression)
     super
+    @job_name = &quot;IntegrationJob&quot;
+    @trigger_name = &quot;IntegrationTrigger&quot;
     @base_jobs_group = &quot;IntegrationJobs&quot;
     @base_triggers_group = &quot;IntegrationTriggers&quot;
-    @cron_expression = &quot;0 0/1 * * * ?&quot;
+    @cron_expression = cron_expression
   end
 end
 
@@ -23,6 +23,8 @@ end
 class JrubyQuartzIntegrationTest &lt; Test::Unit::TestCase
 
   def test_scheduler_implementation
+    integration_scheduler = IntegrationScheduler.new &quot;0 0/1 * * * ?&quot;
+
     #must stub the scheduler and scheduler factory to avoid invokation of real Quartz thread pool, etc.
     scheduler = mock('scheduler')
     scheduler_factory = mock('scheduler factory', :get_scheduler =&gt; scheduler)
@@ -30,7 +32,7 @@ class JrubyQuartzIntegrationTest &lt; Test::Unit::TestCase
     scheduler.expects(:schedule_job)
     scheduler.expects(:set_job_factory)
     
-    IntegrationScheduler.instance.expects(:scheduler_factory).returns(scheduler_factory)
-    IntegrationScheduler.instance.schedule!(IntegrationJob)
+    integration_scheduler.expects(:scheduler_factory).returns(scheduler_factory)
+    integration_scheduler.schedule!(IntegrationJob)
   end
 end</diff>
      <filename>test/integration/jruby_quartz_integration_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,42 +2,49 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
 
 class BaseSchedulerTest &lt; Test::Unit::TestCase
 
-  def test_singleton_initialization
-    assert_raise(NoMethodError) { BaseScheduler.new }
-    assert_not_nil(BaseScheduler.instance)
-  end
+#  def test_singleton_initialization
+#    assert_raise(NoMethodError) { BaseScheduler.new }
+#    assert_not_nil(BaseScheduler.instance)
+#  end
   
   def test_scheduler_instance_variables
-    assert_equal BaseScheduler.instance.base_jobs_group, &quot;BaseJobsGroup&quot;
-    assert_equal BaseScheduler.instance.job_name, &quot;BaseJob&quot;
-    assert_equal BaseScheduler.instance.base_triggers_group, &quot;BaseTriggersGroup&quot;
-    assert_equal BaseScheduler.instance.trigger_name, &quot;BaseTrigger&quot;
-    assert_equal BaseScheduler.instance.cron_expression, &quot;0 0/1 * * * ?&quot;
+    scheduler = BaseScheduler.new &quot;0 0/1 * * * ?&quot;
+    assert_equal scheduler.base_jobs_group, &quot;BaseJobsGroup&quot;
+    assert_equal scheduler.job_name, &quot;BaseJob&quot;
+    assert_equal scheduler.base_triggers_group, &quot;BaseTriggersGroup&quot;
+    assert_equal scheduler.trigger_name, &quot;BaseTrigger&quot;
+    assert_equal scheduler.cron_expression, &quot;0 0/1 * * * ?&quot;
   end
 
   def test_trigger_class
-    assert_kind_of(org.quartz.SimpleTrigger, BaseScheduler.instance.send(:trigger).new)
+    scheduler = BaseScheduler.new stub
+    assert_kind_of(org.quartz.SimpleTrigger, scheduler.send(:trigger).new)
   end
 
   def test_job_factory_class
-    assert_kind_of(Jobs::BaseJobFactory, BaseScheduler.instance.send(:job_factory).new)
+    scheduler = BaseScheduler.new stub
+    assert_kind_of(Jobs::BaseJobFactory, scheduler.send(:job_factory).new)
   end
 
   def test_job_detail_class
-    assert_kind_of(Jobs::BaseJobDetail, BaseScheduler.instance.send(:job_detail).new(&quot;JobName&quot;,
+    scheduler = BaseScheduler.new stub
+    assert_kind_of(Jobs::BaseJobDetail, scheduler.send(:job_detail).new(&quot;JobName&quot;,
                                                                                      'JobGroup',
                                                                                      'JobClass'))
   end
 
   def test_scheduler_factory_class
-    assert_kind_of(StdSchedulerFactory, BaseScheduler.instance.send(:initialize_scheduler_factory))
+    scheduler = BaseScheduler.new stub
+    assert_kind_of(StdSchedulerFactory, scheduler.send(:initialize_scheduler_factory))
   end
 
   def test_cron_trigger_class
-    assert_kind_of(CronTrigger, BaseScheduler.instance.send(:cron_trigger).new)
+    scheduler = BaseScheduler.new stub
+    assert_kind_of(CronTrigger, scheduler.send(:cron_trigger).new)
   end
 
   def test_schedule_method
+    base_scheduler = BaseScheduler.new stub
     base_job = mock(&quot;base job&quot;)
     scheduler = mock('scheduler')
     job_factory = mock('job factory')
@@ -45,6 +52,8 @@ class BaseSchedulerTest &lt; Test::Unit::TestCase
     cron_trigger = mock('cron trigger')
     scheduler_factory = mock('scheduler factory', :get_scheduler =&gt; scheduler)
 
+    base_scheduler.expects(:scheduler_factory).returns(scheduler_factory)
+    
     job_factory.expects(:new).returns(job_factory)
     base_job.expects(:new).returns(base_job)
     job_detail.expects(:new).returns(job_detail)
@@ -52,11 +61,10 @@ class BaseSchedulerTest &lt; Test::Unit::TestCase
     
     scheduler.expects(:set_job_factory).with(job_factory)
     scheduler.expects(:schedule_job).with(job_detail, cron_trigger)
-    BaseScheduler.instance.expects(:scheduler_factory).returns(scheduler_factory)
     
-    BaseScheduler.instance.stubs(:job_detail).returns(job_detail)
-    BaseScheduler.instance.stubs(:job_factory).returns(job_factory)
-    BaseScheduler.instance.stubs(:cron_trigger).returns(cron_trigger)
-    BaseScheduler.instance.schedule!(base_job)
+    base_scheduler.stubs(:job_detail).returns(job_detail)
+    base_scheduler.stubs(:job_factory).returns(job_factory)
+    base_scheduler.stubs(:cron_trigger).returns(cron_trigger)
+    base_scheduler.schedule!(base_job)
   end
 end
\ No newline at end of file</diff>
      <filename>test/unit/base_scheduler_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>781d3b11e74301a9ec29bdfd5d0c4d06be3fc6ae</id>
    </parent>
  </parents>
  <author>
    <name>Nicholas Zalabak</name>
    <email>nick@controlaltcreate.com</email>
  </author>
  <url>http://github.com/techwhizbang/jruby-quartz/commit/ae1e49cfc9c64717a2cf9171e3f4a6787f5c41b9</url>
  <id>ae1e49cfc9c64717a2cf9171e3f4a6787f5c41b9</id>
  <committed-date>2009-07-31T17:07:16-07:00</committed-date>
  <authored-date>2009-07-31T17:07:16-07:00</authored-date>
  <message>removing singleton scheduler instantiation, making the cron expression at initialization more flexible, making this a major release</message>
  <tree>7d8cb5356520bac28a6192a6c74501d9687af2b7</tree>
  <committer>
    <name>Nicholas Zalabak</name>
    <email>nick@controlaltcreate.com</email>
  </committer>
</commit>
