我正在使用Quartz.Net进行概念验证一个相当简单的调度任务,我唯一的要求是重新配置石英不需要重新启动服务
这是测试代码
var factory = new StdSchedulerFactory();
var scheduler = factory.GetScheduler();
scheduler.Start();
Run Code Online (Sandbox Code Playgroud)
app.config中的相关数据
<quartz>
<add key="quartz.scheduler.instanceName" value="QuartzScheduler" />
<!-- Configure Thread Pool -->
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<!-- Configure Job Store -->
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
<add key="quartz.plugin.xml.type" value="Quartz.Plugin.Xml.JobInitializationPlugin, Quartz" />
<add key="quartz.plugin.xml.fileNames" value="quartz.config" />
Run Code Online (Sandbox Code Playgroud)
我的工作配置文件
<?xml version="1.0" encoding="UTF-8"?>
<quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0"
overwrite-existing-jobs="true">
<job>
<job-detail>
<name>jobName1</name>
<group>jobGroup1</group>
<description>jobDesciption1</description>
<job-type>Jobs.MyJob, Jobs</job-type>
<volatile>false</volatile>
<durable>true</durable>
<recover>false</recover>
</job-detail>
<trigger>
<cron>
<name>cronName1</name>
<group>cronGroup1</group>
<description>CronTriggerDescription</description> …Run Code Online (Sandbox Code Playgroud) 更新:正如我所预料的那样,社区对此问题提出的合理建议是"衡量和看到".chibacity发布了一些答案,其中包含一些非常好的测试,为我做了这个; 同时,我写了一个我自己的考试; 我看到的性能差异实际上是如此巨大,以至于我不得不写一篇关于它的博客文章.
但是,我也应该承认Hans的解释,该ThreadStatic属性确实不是免费的,实际上依赖于CLR辅助方法来实现其魔力.这使得在任何情况下应用是否适当的优化很明显.
对我来说,好消息是,就我而言,它似乎已经取得了很大的进步.
我有一个方法(在许多其他事情中)为一些局部变量实例化一些中等大小的数组(~50个元素).
经过一些分析后,我发现这种方法是性能瓶颈.并不是说这种方法需要很长时间才能打电话; 相反,它被简单地调用很多次,非常快(在一个会话中数十万到数百万次,这将是几个小时).因此,即使对其性能进行相对较小的改进也是值得的.
在我看来,也许不是在每次调用时分配一个新数组,我可以使用标记的字段[ThreadStatic]; 每当调用该方法时,它将检查该字段是否在当前线程上初始化,如果没有,则初始化它.从那时起,同一个线程上的所有调用都会有一个阵列都准备就绪.
(该方法初始化数组本身中的每个元素,因此在数组中使用"陈旧"元素应该不是问题.)
我的问题很简单:这看起来是个好主意吗?ThreadStatic以这种方式使用属性是否存在缺陷(即,作为性能优化来降低实例化局部变量的新对象的成本)我应该知道哪些?一个ThreadStatic领域本身的表现可能不是很好; 例如,是否有很多额外的"东西"在后台发生,有自己的成本,使这个功能成为可能?
对我来说,我甚至试图优化像50元素阵列那样便宜(?)的东西是错误的 - 如果是这样的话,绝对让我知道 - 但一般的问题仍然存在.
我想通过SQL为每个商店检索以下数据,以便我可以在我的php中构建数据结构:
READ in from MySQL:
3. all active stores:
3.1 store package (enterprise)
3.2 magento default theme (default)
3.3 store default theme
3.4 store layout
3.5 store templates
Run Code Online (Sandbox Code Playgroud)
我在更改商店的管理数据之前尝试做差异,但是在比较更改前后的2个mysql转储文件时达到了内存限制.
我已经阅读了常见问题和其他几个网站,但我似乎找不到合适的解决方案.我很确定你之前已经听过这个问题了,如果可能的话,我想就如何解决这个问题寻求具体的帮助.
具体错误是:错误:未定义引用`vtable for FGui'它始终指向fgui.cpp中的构造函数,但我没有看到任何可能出错的内容.
FGui是一个继承自名为"FFoo"的类的类,它继承自QMainWindow.相关代码:
(在ffoo.h :)
class Ffoo : public QMainWindow
{
Q_OBJECT
public:
Ffoo();
~Ffoo();
(...)
};
Run Code Online (Sandbox Code Playgroud)
(在ffoo.cpp :)
Ffoo::Ffoo()
{
textEdit = 0;
tcpSock = 0;
setupConnectBox();
}
Ffoo::~Ffoo()
{}
Run Code Online (Sandbox Code Playgroud)
FGui文件仍然很简单,因为我最近才开始上课.
(fgui.h :)
class FGui : public Ffoo
{
Q_OBJECT
public:
FGui();
~FGui();
};
Run Code Online (Sandbox Code Playgroud)
(fgui.cpp :)
FGui::FGui() : Ffoo()
{}
FGui::~FGui()
{}
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我该如何解决这个问题,我将非常感激.提前致谢.:)
我想@ViewScoped在我的应用程序中使用- scope作为某些网页的支持bean.我还使用CDI将依赖注入到后台bean中.
但是,当我使用这样注释的支持bean时
@ManagedBean
@ViewScoped
@Inject
someDependency (...)
Run Code Online (Sandbox Code Playgroud)
该@Inject注释将不注入任何东西,我得到了NullPointerException,只要我正在访问的依赖.
但是,当我装饰支持bean时
@Named
@ViewScoped
@Inject
someDependency (...)
Run Code Online (Sandbox Code Playgroud)
注射工作正常,但现在@ViewScoped被忽略,因为它不是CDI/Weld的一部分.
我如何@ViewScoped与CDI Weld一起使用?
我想将表单“作者”字段 (models.ForeignKey(User)) 的默认值设置为当前登录的用户。我想在保存条目之前执行此操作,因此在创建条目时,用户不必为了表单验证而选择自己。
我尝试在表单 init 函数中设置该值,但是没有对请求对象的引用,所以似乎不可能?
我没有为此应用程序使用 django 管理面板。
其他编码人员,只是遇到了.addClass方法的一个奇怪的(至少对我来说)行为.我试图通过使用.addClass方法和更改div的背景颜色的.highlight类来突出鼠标悬停在它上面的项目(div).(我使用jQuery而不是css:hover方法是有原因的.)
代码工作意义,.highlight类被添加到div但颜色不会改变.只有当div的默认css类没有定义背景颜色时,颜色才会改变.换句话说,如果div被定义为包含说背景颜色的类:白色; 添加.highlight类但颜色不会改变.
这是正常的还是我错过了什么?现在,我正在使用.css('background-color',....)来突显亮点,但我很好奇为什么.addClass方法不起作用.
谢谢.
我正在编写一个原型TCP连接,我在整理要发送的数据时遇到了一些麻烦.
目前,我只发送字符串,但将来我们希望能够发送任何对象.
目前代码非常简单,因为我认为所有内容都可以转换为字节数组:
void SendData(object headerObject, object bodyObject)
{
byte[] header = (byte[])headerObject; //strings at runtime,
byte[] body = (byte[])bodyObject; //invalid cast exception
// Unable to cast object of type 'System.String' to type 'System.Byte[]'.
...
}
Run Code Online (Sandbox Code Playgroud)
这当然很容易用a来解决
if( state.headerObject is System.String ){...}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我这样做,我需要检查在运行时无法转换为byte []的每种类型的对象.
由于我不知道在运行时无法将每个对象强制转换为byte [],因此这不是一个选项.
如何将任何对象转换为C#.NET 4.0中的字节数组?
我有一个现有的Winforms应用程序,它有几个表单,每个表单的两个主要按钮上有相同的按钮图像(确定和取消).通过将Button的Image属性设置为"Local resource"并导入所需图像,可以在VS Designer中设置图像.
我无法访问原始图像文件.如何从已通过此方式设置Image属性的Button控件的Image属性中提取图像?

我在这里看到了很多关于log4j不同的appender的问题,但似乎没有任何问题可以解决我遇到的问题.如果在任何地方重复,请道歉.
我CompositeRollingAppender在我们的应用程序中使用了一个,因为我们需要根据时间和大小滚动日志文件.这与宣传的完全一样,但我们最终得到的文件如下:
myapp.log
myapp.log.2010-12-11
myapp.log.2010-12-11.1
myapp.log.2010-12-12
Run Code Online (Sandbox Code Playgroud)
是否可以更改log4j重命名文件的格式?我敢肯定,必须有一个难以捉摸的特性的地方,我已经错过了.例如,在上述情况下,我想要像:
myapp.log
myapp-2010-12-11.log
myapp-2010-12-11.1.log
myapp-2010-12-12.log
Run Code Online (Sandbox Code Playgroud)
这里的重点是扩展仍然是.log为什么你问?因为我们的应用程序的管理员抱怨他们不能只是双击该文件打开它(我知道,我知道).如果他们都有.log扩展名,那就不是这样了.
提前致谢.
.net ×2
addclass ×1
byte ×1
c# ×1
c++ ×1
cdi ×1
constructor ×1
django ×1
extract ×1
image ×1
java ×1
jboss-weld ×1
jquery ×1
log4j ×1
logging ×1
magento ×1
magento-1.9 ×1
mysql ×1
object ×1
optimization ×1
performance ×1
qt ×1
quartz.net ×1
resx ×1
scope ×1
threadstatic ×1
vtable ×1
winforms ×1