我正在尝试将Spring中的数据源configure集成到Quartz调度程序中.虽然我从论坛和邮件列表中收集了一些关于如何做到这一点的信息,但我仍然无法构建整篇文章.
我在Spring中配置数据源如下:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/projectA"/>
<property name="lookupOnStartup" value="false"/>
<property name="cache" value="true"/>
<property name="proxyInterface" value="javax.sql.DataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
而Quartz-Spring的配置如下:
<jee:jndi-lookup id="quartzDataSource"
lookup-on-startup="false"
proxy-interface="javax.sql.DataSource"
cache="true"
jndi-name="java:jdbc/projectA"/>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
...
<property name="dataSource" ref="quartzDataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
这不是正确的配置,因为我收到以下错误:
[ERROR ] SRVE0283E: Exception caught while initializing context: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean#0' defined in class path resource [job-authentication-spring.xml]: Invocation of init method failed; nested exception is org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.InvalidNameException: java:jdbc/projectA
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:518)
at …Run Code Online (Sandbox Code Playgroud) #include <boost/thread/thread.hpp>
#include <iostream>
using namespace std;
void hello() {
cout << "Hello world, I'm a thread!" << endl;
}
int main(int argc, char* argv[]) {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
boost::thread thrd(&hello);
thrd.join();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我确信上面的代码没有任何问题,因为我已在Microsoft Visual Studio Express Edition上测试过它.但它不能在Eclipse中编译.
我在Windows机器上执行此操作,我使用带有MinGW工具链的Eclipse Kepler,我D:/tool/boost_1_54_0使用此命令在此目录中安装boost ./b2 install --with-thread --libdir=stage/lib --includedir=stage/include --build-type=complete stage toolset=msvc.我已经配置了额外的包含目录,库路径和线程库,这是boost_thread-vc110-mt-1_54和libboost_system-vc110-mt-1_54(在Libraries (-l)项目属性> C/C++构建>设置> MinGW C++链接器>库中)?
这是编译的输出,你看到任何线索吗?
15:52:07 **** Incremental Build of configuration Debug for project …Run Code Online (Sandbox Code Playgroud) 你好,我有一张表有以下项目:
CODE UPDATE_DT
---- ---------
APP 08-APR-11
REJ null
CAN null
Run Code Online (Sandbox Code Playgroud)
如果我必须按日期过滤它,可以说本月,1-APR-2011到30-APR-2011.查询的输出如下:
CODE UPDATE_DT
---- ---------
APP 08-APR-11
Run Code Online (Sandbox Code Playgroud)
我是否有可能选择可能包含空值的查询结果,就像表格位于此问题的最顶端一样?
谢谢 @!
我有一个动作类,该类将有一个BOC对象,将填充Spring Dependency Injection.下面显示了示例代码:
public class ActionCls {
private BOC theBoc = null;
/*** theBoc getter / setter ***/
}
Run Code Online (Sandbox Code Playgroud)
如果我想调用thefunc属于构造函数BOC内部的成员函数ActionCls,如下所示:
public class ActionCls {
private BOC theBoc = null;
ActionCls() {
theBoc.thefunc();
}
}
Run Code Online (Sandbox Code Playgroud)
将抛出运行时错误,表示theBoc为null.我确实尝试init-method在这样的弹簧配置中使用:
<bean id="theBoc" class="com.huahsin68.BOC" init-method="thefunc"></bean>
无论如何这没有用,因为即使thefunc首先theBoc被调用,但是只有在ActionCls构造函数之后调用setter .这是一种调用theBocsetter 1st然后只调用ActionCls构造函数的方法吗?所以这theBoc不是null我可以调用thefunc.
我试图将Spring安全性集成到我现有的项目中.我使用的工具是:
在Spring配置中,我有这个:
<beans:beans xmlns="http://springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http auto-config='true'>
<intercept-url pattern="/messagePost.htm*" access="ROLE_USER"/>
</http>
<authentication-provider>
<user-service>
<user name="user1" password="1111" authorities="ROLE_USER"/>
</user-service>
</authentication-provider>
</beans:beans>
Run Code Online (Sandbox Code Playgroud)
但是这个弹簧配置有一个错误:
我可以知道如何解决这个问题吗?
我有一个接受名称的输入文本框,以相反的顺序处理名称,然后将其输出到另一个文本框.每当我输入值并单击页面上的任何位置(意味着从文本框中丢失焦点)时,输出文本框将自动更新.
当我打开源代码时,我发现下面的代码,我可能知道ajax对inputtext组件做了什么?
<h:inputText id="name" value="#{helloBean.name}">
<f:ajax render="printMyName"/>
</h:inputText>
<h:outputText id="printMyName" value="#{helloBean.reverseName}"/>
Run Code Online (Sandbox Code Playgroud) 我有一个使用C++在QT中编写的Windows程序.我可以知道为Windows平台编写的代码是否可以转换为Mac?是100%的代码是可转换的还是没有可转换的?
我正在寻找一种最好的方法来循环一个涉及尽可能少的资源的地图.假设我有一个对象作为值,键是一个引用该对象的字符串.通过以下两个循环,我可以知道哪一个更好,你是如何证明它只运行最少的资源?
for(Map.Entry<String, MyObject> entry : myMap.entrySet()) {
...
}
for( String key : myMap.keySet() ) {
...
}
Run Code Online (Sandbox Code Playgroud)
谢谢 @!
我在下面的课上运行单元测试:
public class FileClass {
public void funcB() {
try {
throw new ClassNotFoundException();
}
catch( ClassNotFoundException e ) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用Mockito代码如下所示:
public class TestFileClass {
@Test(expected=ClassNotFoundException.class)
public void testFuncB() {
FileClass fc = Mockito.spy(new FileClass());
fc.funcB();
}
}
Run Code Online (Sandbox Code Playgroud)
但由于以下错误,测试失败:
java.lang.AssertionError: Expected exception: java.lang.ClassNotFoundException
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:35)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) …Run Code Online (Sandbox Code Playgroud) 我有一个bash脚本具有以下命令
rm ${thefile}
Run Code Online (Sandbox Code Playgroud)
为了确保命令执行成功,我使用$?变量来检查状态,但是这个变量没有显示确切的错误?为此,我使用以下命令将标准错误输出重定向到日志文件:
rm ${file} >> ${LOG_FILE} 2>&1
Run Code Online (Sandbox Code Playgroud)
使用此命令,我无法使用$?变量来检查rm命令的状态,因为命令后面的rm命令已成功执行,因此$?变量在这里是没用的.
我是否知道有一个解决方案可以结合我能够检查rm命令状态的两个功能,同时我允许重定向输出?