castleproject / windsor.quartz Goto Github PK
View Code? Open in Web Editor NEWWindsor facility to integrate Quartz.NET
License: Other
Windsor facility to integrate Quartz.NET
License: Other
I just upgraded to 0.3.2.0 b/c I upgraded Quartz, but I'm finding that the new implementation of IScheduler, QuartzNetScheduler, no longer includes the SetSchedulerListeners method, so my custom implementation of ISchedulerListener is not getting added to the SchedulerListeners. Is this just an oversight or is it intentional for some reason? Is there a plan to add it back?
According to the Castle Windsor documentation, you should always release packages when they go out of scope. I couldn't find any code (using reflection) doing this in the released nuget package. However, it seems like this have been added in the source here on github. Please release a new package to nuget with this fix.
@kristofdc I've moved the Quartz facility from the castleproject-deprecated GitHub organisation over to the main organisation, and set up AppVeyor (https://ci.appveyor.com/project/castleproject/castle-facilities-quartz/history) on our castleproject account. Thanks again for getting those changes sorted.
With Castle Core and Windsor we maintain a changelog file in the repository root, it would be great if we could do that here too before releasing 0.5.0.
Could you put a pull request together with that. The readme also needs some polish too.
When are you going to make a new nuget release which will allow us to configure Properties from Quartz directly in code?
Just asking because code from tag v0.5.0 does not allow that, but the code you have in branch master does
container.AddFacility<QuartzFacility>(f =>
{
////////// CODE BELOW: THIS IS NOT ALLOWED in v0.5.0 for netcore 2.0 //////////
f.Properties = new Dictionary<string, string>
{
{"quartz.scheduler.instanceName", "QuartzSchedulerConfiguredByCode"},
{"quartz.threadPool.type", "Quartz.Simpl.DefaultThreadPool, Quartz"},
{"quartz.threadPool.threadCount", "5"}
};
});
Push to here: https://www.nuget.org/packages/Castle.Facilities.Quartz/
Still todo:
The sample app uses both quartz_jobs.xml and App.config XML configuration. It doesn't show using standard non-xml methods to register jobs.
Do you not show usage of normal Windsor APIs like Component.For<SampleJob>()
because you can't use them?
Enhancing the Castle Facility Quartz compatible with .NET standard 2.0
I have downloaded the source and got the sample app working without any problems. I have created a similar sample Windows service using the same configuration. It sample service fails to start. When the quartz.net windsor integration is removed, the service starts without any errors. The event log isn't very helpful and just says there is a Quartz.SchedulerException.
Has anybody any experience of using Quartz.net Windsor integration inside a WIndows Service?
Windsor 3.0 has many breaking changes w.r.t. configuration. Currently most of the tests in the windsor-3 branch are broken because of this. Adjust for these breaking changes so we can upgrade to Windsor 3.
Do not use xml
未经处理的异常: System.IO.FileLoadException: 未能加载文件或程序集“Quartz, Version=3.0.2.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4”或它的某一个依赖项。找到的程序集
清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
在 Castle.Facilities.Quartz.QuartzFacility.Init()
在 Castle.MicroKernel.Facilities.AbstractFacility.Castle.MicroKernel.IFacility.Init(IKernel kernel, IConfiguration facilityConfig)
在 Castle.MicroKernel.DefaultKernel.AddFacility(String key, IFacility facility)
在 Castle.MicroKernel.DefaultKernel.AddFacility(IFacility facility)
在 Castle.Windsor.WindsorContainer.AddFacility(IFacility facility)
在 Castle.Windsor.Installer.DefaultComponentInstaller.SetUpFacilities(IConfiguration[] configurations, IWindsorContainer container, IConversionManager converter)
在 Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(IWindsorContainer container, IConfigurationStore store)
在 Castle.Windsor.WindsorContainer.RunInstaller()
在 Castle.Windsor.WindsorContainer..ctor(IConfigurationInterpreter interpreter)
在 ConsoleApplication1.Program.Main(String[] args) 位置 E:\work\dotnet\Tests\Solution1\ConsoleApplication1\Program.cs:行号 22
Both Castle Core and Windsor's build scripts read their version number from AppVeyor's environment variables, the version 0.0.0
is hardcoded in source control and when we tag a commit that built version gets the right version number set from the Git tag name.
It would be great if we could do the same here, it allows us to make new releases without worrying about constantly changing version numbers in files across the repo.
/cc @kristofdc @mario-d-s
Hi,
Are there plans to update this code to Quartz 2.0?
Jochen
@kristofdc I'm happy with your changes, if you are ready for a release I'll create a tag and push to nuget.org.
I'm having some issues getting the Quartz/Windsor integration working. I just installed the Quartz.Windsor NuGet package but I keep getting the following error when my application starts:
Could not load file or assembly 'Quartz, Version=2.2.400.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4' or one of its dependencies.
The Quartz project homepage on NuGet says the latest version is 2.2.2 (note three 2's vs two 2's) so apparently you are from the future :) I even tried to use the package manager console to specifically install version 2.2.400.0 but it tells me "No compatible project(s) found in the active solution.". This lead me to believe there might just be a typo somewhere so I decided to download your project to try and see what was going on. However, when I load the solution this is what I see:
For some reason the references are all jacked up so I browsed the source and found the folder containing the Quartz.dlls (\Quartz.2.2\lib\net40\Quartz.dll) and checked the versions and they say 2.2.400.0!? Where the heck did you get these DLLs from? Lol. I tried to copy them over and reference them but I just keep getting the same error and I'm not sure how to proceed.
It feels like it's just a version conflict of some sort (where, I am not sure) so please let me know if I'm doing something wrong or if you have any ideas on what the cause might be.
Thanks again,
nub340
Do we actually need this?
I've checked that WindsorJobFactory.ReturnJob is called, and it's called, and called after ReleasingJobListener
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.