我有点糊涂,因为我正在尝试使用@Scheduled注释,但Spring似乎没有找到我的方法.最终结果是,我的所有注释方法@Scheduled都没有被执行.
我用以下声明调用了Spring的任务魔法:
<beans> <!-- XMLNS, XSD declarations omitted for brevity -->
<context:component-scan base-package="com.mypackage"/>
<task:executor id="executor" pool-size="5"/>
<task:scheduler id="scheduler" pool-size="5"/>
<task:annotation-driven scheduler="scheduler" executor="executor"/>
</beans>
Run Code Online (Sandbox Code Playgroud)
我有一个看起来像这样的界面:
package com.mypackage;
public interface MyInterface {
public void executePeriodically();
}
Run Code Online (Sandbox Code Playgroud)
有这样的相应impl:
package com.mypackage.impl;
// imports omitted for brevity
@Service
public class MyInterfaceImpl implements MyInterface {
@Scheduled(cron = "0/5 * * * * ?")
public void executePeriodically() {
System.out.println("The time is now : " + new Date());
}
}
Run Code Online (Sandbox Code Playgroud)
现在预期的结果是,我有一个非常吵闹的小家伙告诉我每5秒钟的时间......但实际上我什么都没有.我已尝试使用接口方法和impl方法上的注释,但这似乎没有改变任何东西.
我确定正在初始化执行程序和调度程序,因为我在日志中有以下内容:
INFO - …Run Code Online (Sandbox Code Playgroud) 假设我有以下JSON,存储在我的变量jsonVariable中.
{
"id": 1,
"details": {
"username": "jamesbrown",
"name": "James Brown"
}
}
Run Code Online (Sandbox Code Playgroud)
我使用以下代码使用jq解析此JSON:
echo $jsonVariable | jq '.details.name | select(.name == "James Brown")'
Run Code Online (Sandbox Code Playgroud)
这会给我输出
詹姆斯布朗
但是如果我想得到这个人的身份怎么办?现在,我知道这是一个粗略而简单的例子 - 我正在使用的程序是5或6级深度,除了select之外还有许多不同的JQ函数.在执行各种过滤方法后,当我已经深入5或6层时,我需要一种方法来选择父项的字段.
有人可以帮忙吗?是否有任何"反向"的方式,回到父母身边?(不确定我是否有意义!)
埃洛在那里,
我正在尝试将javascript变量的值赋给java变量.但我不知道怎么做?比方说,我有这个:
<html>
<head>
<script type="text/javascript">
function return variable(){
var a = "hello";
return a;
}
</script>
</head>
<body>
<%
//The java code
String b = //how do I get that javascript variable here?
%>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 所以这就是挑战......我需要在野外随机网页中创建干净的HTML.我的目标是在一个页面中读取并将其传递给一个库,这将反过来给我一个完美的HTML格式.
听起来不那么厉害吧?毕竟,市场上的每个浏览器都能有效地应对格式错误的HTML的挑战,并将其转化为几乎每个页面加载都可渲染的东西.每个都有自己的略微特定的清理内容的算法(对于HTML <5来说是这样),但是他们倾向于非常好地捕捉我想要作为作者意图的内容.那么,为什么我不能为这项任务找到一个好的java库呢?
有一点需要提及的是,我对将HTML解析为XML并不感兴趣.我发现像NekoHTML,TagSoup,HtmlCleaner和JTidy这样的库(仅举几例)更侧重于解决将HTML转换为有效XML的问题,并且在此过程中,他们忽略了如何糟糕 - 格式化文档应重新构建.使用令人讨厌的HTML,他们经常不会捕获作者的意图并吐出与原始源完全不同的文档.对于这个项目,两个文件的呈现方式同样至关重要.
我非常喜欢Jericho HTML,但它似乎并不是这项工作的理想人选...至少在没有我付出很多努力的情况下.此外,Native依赖项是不行的,因此mozilla解析器已经完成.
任何人都可以帮助我寻找完美的HTML解析器吗?提前致谢!
如果我有一个类文字对象,我可以向一个类添加一个新字段吗?如何确定在该类文字中引用或使用了一个特定的类?
我遇到了以下错误
java.lang.NoSuchFieldError: WRITE_DURATIONS_AS_TIMESTAMPS
at com.fasterxml.jackson.datatype.joda.ser.DurationSerializer.<init>(DurationSerializer.java:28)
at com.fasterxml.jackson.datatype.joda.ser.DurationSerializer.<init>(DurationSerializer.java:25)
at com.fasterxml.jackson.datatype.joda.JodaModule.<init>(JodaModule.java:45)
Run Code Online (Sandbox Code Playgroud)
我检查了看哪些版本的jackson-datatype-joda可用.似乎maven排除了所有版本不匹配.
这可能导致序列化错误的任何其他原因?
有一种将SocketFactory提供给InitialLdapContext的静态方法:
env.put("java.naming.ldap.factory.socket", MySocketFactory.class.getName());
new InitialLdapContext(env, null);
Run Code Online (Sandbox Code Playgroud)
但是,有什么方法可以提供实例本身而不是其类名吗?我的套接字工厂使用受信任证书的输入流进行了参数设置,并且可以使用不同的受信任证书配置许多InitialLdapContext实例。顺便说一句,这将在OSGi环境中运行。
提前致谢。
我将使用Spring框架版本4的依赖注入.我已经看到Jersey有插件的DI
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
<version>2.12</version>
</dependency>
泽西岛的DI春季推荐还是有特殊原因使用它?如果Spring 4 DI独立使用怎么办?
另外请让我知道任何一步一步学习源码与Spring的整合与泽西?
这是Proxy类的方法签名:
Object java.lang.reflect.Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException
Run Code Online (Sandbox Code Playgroud)
我检查代理类中newProxyInstance的源代码,我找不到代理对象将自己传递给InvocationHandler方法的位置
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable;
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
谢谢
java ×6
spring ×2
annotations ×1
dropwizard ×1
html ×1
html-parsing ×1
java-ee ×1
javascript ×1
jersey ×1
jq ×1
json ×1
jsp ×1
ldap ×1
maven ×1
reflection ×1
rest ×1
scheduler ×1
variables ×1