我是Spring的新手,并开始从这个站点做官方指南:https: //spring.io/guides
我想做这个指南:https: //spring.io/guides/gs/scheduling-tasks/
我得到以下例外:
2014-02-14 16:25:21.614 INFO 9032 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2014-02-14 16:25:21.638 INFO 9032 --- [ main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/work/Spring/SpringTutorial/target/classes/, file:/C:/work/apache-maven-3.0.3/repo/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter/1.0.0.RC1/spring-boot-starter-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot/1.0.0.RC1/spring-boot-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-context/4.0.0.RELEASE/spring-context-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-autoconfigure/1.0.0.RC1/spring-boot-autoconfigure-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-logging/1.0.0.RC1/spring-boot-starter-logging-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jul-to-slf4j/1.7.5/jul-to-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/log4j-over-slf4j/1.7.5/log4j-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-web/1.0.0.RC1/spring-boot-starter-web-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-tomcat/1.0.0.RC1/spring-boot-starter-tomcat-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-core/7.0.47/tomcat-embed-core-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.47/tomcat-embed-logging-juli-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-aop/4.0.0.RELEASE/spring-aop-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-beans/4.0.0.RELEASE/spring-beans-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-webmvc/4.0.0.RELEASE/spring-webmvc-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-expression/4.0.0.RELEASE/spring-expression-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-databind/2.3.1/jackson-databind-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar, …
Run Code Online (Sandbox Code Playgroud) 如何测试字符串以查看它是否包含数组中的任何字符串?
而不是使用
if (string.contains(item1) || string.contains(item2) || string.contains(item3))
Run Code Online (Sandbox Code Playgroud) 我正在尝试用@InjectMocks
和进行单元测试@Mock
.
@RunWith(MockitoJUnitRunner.class)
public class ProblemDefinitionTest {
@InjectMocks
ProblemDefinition problemDefinition;
@Mock
Matrix matrixMock;
@Test
public void sanityCheck() {
Assert.assertNotNull(problemDefinition);
Assert.assertNotNull(matrixMock);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我不包含@RunWith
注释,则测试失败.但
不推荐使用MockitoJUnitRunner类型
我正在使用Mockito 2.6.9.我该怎么办呢?
我有一个ScheduledExecutorService
时间周期性的几个不同的任务scheduleAtFixedRate(Runnable, INIT_DELAY, ACTION_DELAY, TimeUnit.SECONDS);
我也有一个Runnable
与此调度程序不同的用法.当我想从调度程序中删除其中一个任务时,问题就开始了.
有没有办法做到这一点?
我是否正确使用一个调度程序执行不同的任务?实现这个的最佳方法是什么?
我的程序使用Java Scripting API并且可以同时评估一些脚本.他们不使用共享脚本对象,绑定或上下文,但可以使用相同ScriptEngine
和CompiledScript
对象.我看到Java 8中的Oracle Nashorn实现不是多线程的,ScriptEngineFactory.getParameter('THREADING')
返回null
文档所说的内容:
引擎实现不是线程安全的,不能用于在多个线程上并发执行脚本.
这是否意味着我应该ScriptEngine
为每个线程创建一个单独的实例?此外,文档没有说明CompiledScript
并发使用,但:
每个CompiledScript都与ScriptEngine相关联
可以假设CompiledScript
线程安全依赖于相关ScriptEngine
,即我应该CompiledScript
为Nashorn的每个线程使用单独的实例.
如果我应该,对于这个(我认为非常常见的)案例,使用ThreadLocal
,池或其他什么是适当的解决方案?
final String script = "...";
final CompiledScript compiled = ((Compilable)scriptEngine).compile(script);
for (int i=0; i<50; i++) {
Thread thread = new Thread () {
public void run() {
try {
scriptEngine.eval(script, new SimpleBindings ()); //is this code thread-safe?
compiled.eval(new SimpleBindings ()); //and this?
}
catch (Exception e) { throw new RuntimeException …
Run Code Online (Sandbox Code Playgroud) 问题发生在
Element element = it.next();
Run Code Online (Sandbox Code Playgroud)
并且包含该行的代码位于 OnTouchEvent
for (Iterator<Element> it = mElements.iterator(); it.hasNext();){
Element element = it.next();
if(touchX > element.mX && touchX < element.mX + element.mBitmap.getWidth() && touchY > element.mY
&& touchY < element.mY + element.mBitmap.getHeight()) {
//irrelevant stuff..
if(element.cFlag){
mElements.add(new Element("crack",getResources(), (int)touchX,(int)touchY));
element.cFlag = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
所有这一切都在里面synchronized(mElements)
,这里mElements
是一个ArrayList<Element>
当我触摸它时Element
,它可能会激活cFlag
,这将创建另一个Element
具有不同属性的属性,这些属性将从屏幕上掉落并在不到一秒的时间内自行消失.这是我创建粒子效果的方式.我们可以称之为"粒子" crack
,就像构造函数中的String参数一样.
这一切都正常,直到我添加另一个主要Element
.现在我同时Elements
在屏幕上有两个,如果我触摸最新的Element
,它工作正常,并启动粒子.
但是,如果我触摸并激活cFlag
旧版本Element
,那么它会给我一个例外.
07-28 15:36:59.815: ERROR/AndroidRuntime(4026): FATAL …
Run Code Online (Sandbox Code Playgroud) 我以为我知道如何使用JOIN
,JPQL
但显然不是.谁能帮我?
select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
Run Code Online (Sandbox Code Playgroud)
这给了我例外
org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Run Code Online (Sandbox Code Playgroud)
Users
与...有OneToMany关系Groups
.
Users.java
@Entity
public class Users implements Serializable{
@OneToMany(mappedBy="user", cascade=CascadeType.ALL)
List<Groups> groups = null;
}
Run Code Online (Sandbox Code Playgroud)
Groups.java
@Entity
public class Groups implements Serializable {
@ManyToOne
@JoinColumn(name="USERID")
private Users user;
}
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是让这个查询返回一个唯一的结果,如果我这样做
String temp = (String) em.createNamedQuery("***")
.setParameter("groupName", groupName)
.getSingleResult();
Run Code Online (Sandbox Code Playgroud)
***
代表上面的查询名称.所以确实fname
与lname
内部连接在一起temp
或者我拿到List<String> …
是否可以BLOB
使用sqldeveloper 插入oracle中的列?
即:像:
insert into mytable(id, myblob) values (1,'some magic here');
Run Code Online (Sandbox Code Playgroud) 我正在玩JavaFX Tooltip.我意识到,就个人而言,徘徊在某些东西和实际出现的工具提示之间的延迟太长了.API中的内容显示:
通常,当鼠标在控件上移动时,工具提示会"激活".工具提示变为"激活"和实际显示之间通常存在一些延迟.详细信息(例如延迟量等)留给Skin实现.
经过一些进一步的调查,我无法找到控制此行为的任何可能性.在JavaFX的CSS参考没有关于延迟时间和运行时间,评价信息getCssMetaData()
没有帮助.
我知道,有一种方法可以通过onMouseEntered
和手动控制工具提示onMouseExited
,但是真的没有别的方法吗?或者我错过了一个明显的选择?
我因某些愚蠢的错误而陷入困境但却无法弄明白!
Hibernate 4.2.6
我之前曾多次提到这个问题,例如这里
的hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="show_sql">true</property>
<property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>
<mapping resource="Event.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
Event.hbm.xml
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.db.pojo.Event" table="Events">
<id name="id" column="Id">
<generator class="native"></generator>
</id>
<property name="title" column="Title"></property>
<property name="date" column="Date" type="timestamp"></property>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
的HibernateUtil
package com.db.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistryBuilder;
public class HibernateUtil { …
Run Code Online (Sandbox Code Playgroud) java ×8
android ×2
arraylist ×1
blob ×1
coding-style ×1
css ×1
deprecated ×1
eclipselink ×1
exception ×1
fxml ×1
hibernate ×1
if-statement ×1
iteration ×1
javafx-8 ×1
jpa ×1
jpql ×1
jsr223 ×1
mockito ×1
nashorn ×1
oracle ×1
spring ×1
spring-boot ×1
string ×1