我在数据库中有一些数据,并希望能够将其导出到CSV文件并提供链接,以便用户可以下载它.
Spring 3是否为此提供了任何机制?
你知道我怎么能这样做?
我正在使用带有SVN插件的Eclipse(Indigo).
我在项目视图中右键单击,选中Team > Synchronize With Repository,然后它提示"我们要切换到同步透视图?好?' - 我错误地检查了"记住我的决定"复选框,然后点击了"否".
所以现在当我进行'同步'时,它并没有把我带到Sync视角.我如何告诉Eclipse我改变了主意,让它向我展示同步时的Sync视角?
EntityManager根据定义,它不是线程安全的.Servlets规范说,在非分布式环境中,如果没有实现SingleThreadModel,每个定义只有一个servlet实例.
因此,在Java EE中,当您EntityManager通过@PersistenceContextServlet的字段注入时- 它不是线程安全的:
public class MyServlet extends HttpServlet {
// Not thread-safe, should be using EMF instead.
@PersistenceContext
private EntityManager em;
}
Run Code Online (Sandbox Code Playgroud)
这是正确的说,即使Spring bean的默认范围是单例,它EntityManager是线程安全的,因为Spring ThreadLocal用来绑定它的事务和EntityManager它?
上面的Servlets示例在Spring中仍然有效吗?它仍然不是线程安全的吗?
该ThreadLocal方法是否仅适用于Spring托管bean,而普通servlet不是其中之一?
据我所知,注入的是容器的责任EntityManager.在Glassfish Java EE实现中,应用程序服务器发现了@PersistenceContextas注入点.
它在Spring中看起来如何?Spring Framework是否负责发现这些注释或JPA实现者的责任?
我在64位Windows平台上安装了Eclipse 3,6.当我尝试通过转到Help->install new software它来连接到更新站点时出现以下错误:
Unable to connect to repository
http://download.eclipse.org/releases/galileo/content.xml
Connection refused: connect
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有可用的网站 - 他们都给了我同样的错误.对话框显示:Provision exception.
知道发生了什么事吗?
我有一些无法理解的区别@OneToMany和@ManyToMany.当我使用@OneToMany它时默认创建一个JoinTable,如果你添加mappedBy属性,你将在两个实体之间有双向关系.
我有一个Question可能属于许多人Categories,一个Category可能属于许多人Questions.我不明白我是否应该使用@ManyToMany或@OneToMany因为对我而言似乎完全相同,但它可能不是.
有人可以解释一下吗?
如何在CDI bean中定义会话@SessionScoped?
这个注释是否仅在从Servlet容器调用时才有效,其中会话以HttpSession?的形式定义好?
如果不是,那么EJB如何@Inject @SessionScoped MyBean myBean能够知道会话到底是什么?我的意思是,这个EJB的方法可以由独立客户端,RESTful WS或其他视图调用.
在这种情况下会发生什么?如果注释没有意义,它应该MyBean为每个请求注入新的实例,还是应该在所有请求中保留相同的实例?
可以@OneToMany使用@JoinColumn注释禁用关系连接表.默认为连接表.
例如,生产系统有哪些优缺点?
什么时候应该使用连接表?
谢谢.
我正在学习Java EE(从SE迁移),我对Java EE环境中的异步执行感到困惑.
基本上我理解创建Thread或Timer不完全推荐.到目前为止我发现的另一种方法是使用JMS将消息传递给EJB Message Bean,它将以异步方式执行.
有哪些其他方法可以实现此行为?使用JMS的原因看起来对于简单任务来说太多开销.
我使用Java EE 5.我为所有EJB编写了一个拦截器,它有三种记录方法:
public class DefaultInterceptor {
public static final String PREFIX = "!!!!!!!!!Interceptor:";
@PostConstruct
public void postConstruct(InvocationContext ctx) {
try {
System.out.println(PREFIX + " postConstruct");
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
@PreDestroy
public void preDestroy(InvocationContext ctx) {
try {
System.out.println(PREFIX + " predestroy");
System.out.println(PREFIX + "ctx.preceed=" + ctx.proceed());
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
@AroundInvoke
public Object intercept(InvocationContext ctx) throws Exception {
System.out.println(PREFIX + "method invocation '" + ctx.getMethod().getName() + "'"); …Run Code Online (Sandbox Code Playgroud) 请考虑以下代码示例:
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Tester {
public static void main( String[] args ) throws Exception {
ScriptEngine se = new ScriptEngineManager().getEngineByName( "nashorn" );
Object eval = se.eval( "5%5" );
System.out.println( "eval = " + eval );
System.out.println( "eval.getClass() = " + eval.getClass() );
}
}
Run Code Online (Sandbox Code Playgroud)
为什么它产生以下输出?
eval = 0.0
eval.getClass()= class java.lang.Double
结果类型java.lang.Double很奇怪.
如果余数不同于0则正确返回java.lang.Integer,例如5%2返回java.lang.Integer' with value1`.
只有0才是特别的.
在Firefox 32.0.2(FindBugs控制台)中尝试相同的JavaScript表达式可以正常工作并返回plain 0.
有没有办法强迫Nashorn返回Integer类型而不是Double?
java ×3
eclipse ×2
java-ee ×2
java-ee-6 ×2
jpa-2.0 ×2
spring ×2
asynchronous ×1
cdi ×1
csv ×1
eclipselink ×1
ejb ×1
ejb-3.0 ×1
ejb-3.1 ×1
interceptor ×1
java-8 ×1
javascript ×1
jms ×1
jpa ×1
mapping ×1
modulo ×1
nashorn ×1
networking ×1
one-to-many ×1
servlets ×1
session ×1
svn ×1
update-site ×1