小编Itt*_*tai的帖子

如何在Apache Tomcat中的单个JS文件上设置Expires HTTP标头?

我有一个js缓存在5-10分钟之间的文件,具体取决于我是使用eclipse中的tomcat(通过GWT插件)还是以独立方式启动tomcat.
这很奇怪,因为我使用的GWT是我的框架,并且根本不应该缓存此文件(对于那些了解GWT的人来说,这是一个nocache.js文件).我已经阅读了一个GWT Google团队线程,它是一个容器配置问题,而在其他地方,我需要在包含的HTML文件中定义它.
基本上,我现在很困惑,因为我不知道如何让这个文件不缓存.请注意,此js是由生成的GWT,我无法修改它.

感谢任何帮助,Ittai 替代文字 替代文字

gwt tomcat caching http-headers

6
推荐指数
1
解决办法
9009
查看次数

当Terracotta服务器用作Hibernate的EHCache后端时,它会做什么?


我的DAL实现了Hibernate,我希望将EHCache其作为其二级缓存及其分布式功能(用于可伸缩性和HA).
眼见为EHCache提供分布式缓存只与Terracotta我的问题是什么角色Terracotta服务器实例?它是否也包含数据?它是否只协调分区缓存部分之间的分配?
我的困惑主要来自这个解释关于TSA它说的服务器保存的数据,但我想,也许在我的方案中的高速缓存和Terracotta服务器被排序的合并.我对么?
如果服务器确实持有数据,那么为什么瓶颈不应该从数据库移动到Terracotta服务器?

更新: Affe的回答回答了我的问题的第二部分,这是重要的部分,但以防万一有人来寻找第一部分,我会说TC服务器必须保存内存中的EHCache所拥有的所有数据,所以如果你想要一个分布式缓存(不复制),那么L2(TC服务器)也必须自己拥有所有对象.

感谢提前,
Ittai

java hibernate terracotta ehcache distributed-caching

6
推荐指数
1
解决办法
2549
查看次数

巴泽尔的$地点扩张

我想向for属性添加$(location)扩展,在属性中设置依赖项,但失败了: 我在目标中定义了属性中该标签的依赖项,如下所示:rules_scalajvm_flagsdata
label '//src/java/com/google/devtools/build/lib:worker' in $(location) expression is not a declared prerequisite of this rule.
data

scala_specs2_junit_test(
    ...
    data = ["//src/java/com/google/devtools/build/lib:worker"],
    jvm_flags = ["-XX:HeapDumpPath=/some/custom/path", "-Dlocation.expanded=$(location //src/java/com/google/devtools/build/lib:worker)"],
)
Run Code Online (Sandbox Code Playgroud)

我看到当我添加ctx.attr.dataexpand_location呼叫扩展时有效,但我不太确定为什么这不是一个黑客。确实是data特例吗?

    location_expanded_jvm_flags = []
    for jvm_flag in jvm_flags:
        location_expanded_jvm_flags.append(ctx.expand_location(jvm_flag, ctx.attr.data))
Run Code Online (Sandbox Code Playgroud)

还尝试查看java_*规则源以了解其工作原理(因为$(location)那里的扩展支持该data属性),但找不到相关位置。

完整目标:

scala_specs2_junit_test(
    name = "Specs2Tests",
    srcs = ["src/main/scala/scala/test/junit/specs2/Specs2Tests.scala"],
    deps = [":JUnitCompileTimeDep"],
    size = "small",
    suffixes = ["Test"],
    data = ["//src/java/com/google/devtools/build/lib:worker"],
    jvm_flags = ["-XX:HeapDumpPath=/some/custom/path", "-Dlocation.expanded=$(location //src/java/com/google/devtools/build/lib:worker)"], …
Run Code Online (Sandbox Code Playgroud)

bazel

6
推荐指数
1
解决办法
6466
查看次数

如何创建一个在我的应用程序运行时一直运行的线程

编辑:我现在确定问题与包含while (true)所有其他命令的循环有关, 因为我已将其注释掉,并且应用程序在没有附加异常的情况下进行部署.我不确定它有多重要,但我的ServletContextListener实现看起来像这样:

public class BidPushService implements ServletContextListener{

public void contextInitialized(ServletContextEvent sce) {   
//Some init code not relevant, omitted for clarity
      BidPushThread t= new BidPushThread();
      t.setServletContext(sce.getServletContext());
      t.run();
}
Run Code Online (Sandbox Code Playgroud)

while

ServletContextListener循环被注释,它没有任何实际意义.

当我的应用程序加载时,我需要在后台运行一个线程,并且不断(没有超时)检查某个队列中的对象.当然,一旦有了对象,它就"照顾它们",然后继续检查队列.

目前,我正在实现java.lang.Thread界面,我在应用程序加载时被调用.在其中,我做了一些维护工作并启动了一个我继承的线程run().

这是我的问题开始的地方(或者我认为).在我的java.util.concurrent.TimeOutException方法中,我有一个

while (true) {
    //some code which doesn't put the thread to sleep ever
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将我的应用程序部署到服务器时,我得到了一个ServletContextListener.我究竟做错了什么?

我不能有一个始终运行的线程吗?删除应用程序后,该线程将被我的相应事件停止while (true).

我确实需要能够毫不拖延地检查队列的东西.

非常感谢您的帮助!

编辑:这是堆栈跟踪

GlassFish: deploy is failing=
    java.util.concurrent.TimeoutException
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

java deployment multithreading timeout servlets

5
推荐指数
2
解决办法
9024
查看次数

用ant编译gwt项目的问题

我已经使用GWT很长一段时间了,到目前为止只使用eclipse插件来编译我的项目.由于新的要求,我需要使用ant构建(第一次)来构建gwt项目.首先我要说我有2个模块有一个入口点和2个其他常见模块,它们只包含java类(应该转换为js),它们位于我工作区的不同项目中.

目前我有GWT项目需要Common项目,而该项目又需要DAL项目(当我说要求时,我的意思是它在eclipse项目构建路径中如此定义).在我的GWT项目中,我在适当的位置有一个Common.gwt.xml和DAL.gwt.xml文件,它们将这些文件定义为模块,我的ModuleEntryPoint.gwt.xml继承了这两个模块(除了其他模块).当我目前使用gwt eclipse插件编译一切运行良好.

但是,当我尝试使用ant构建模拟这个时,我的ModuleEntryPoint的编译失败,因为编译器说它无法找到属于DAL模块或Common模块的类的源.

ant构建代码非常基础,因为这是我的第一次尝试.
提前感谢您提供的任何帮助.

    <path id="compile.classpath">
    <fileset dir="${build.dir.WEB-INF.lib}">
                <include name="**/*.jar" />
                <include name="**/*.xml" />
    </fileset>
    <fileset dir="${ExternalLib.WebServer.dir}">
            <include name="**/*.jar" />
            <include name="**/*.xml" />
    </fileset>

    <fileset dir="${GWT.dir}">
            <include name="**/*.jar" />
            <include name="**/*.dll" />
    </fileset>

</path>

<target name="clear_previous_war">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir.WEB-INF.classes}"/>
<mkdir dir="${build.dir.WEB-INF.lib}"/>
Run Code Online (Sandbox Code Playgroud)

<target name="build_common" >
    <jar destfile="${build.dir.WEB-INF.lib}/${jar.common}"
        basedir="${common.dir.build}"
        includes="com/**"
        excludes="**/.svn"
      />    
</target>

<target name="build_dal" >
    <jar destfile="${build.dir.WEB-INF.lib}/${jar.dal}"
        basedir="${dal.dir.build}"
        includes="com/**"
        excludes="**/.svn"
      />    
</target>

<target name="copy_additional_files" >
    ... Copies all required external jars to web-inf/lib
</target>

<target name="compile_web_classes" > …
Run Code Online (Sandbox Code Playgroud)

compiler-construction ant gwt

5
推荐指数
1
解决办法
4947
查看次数

JPA2.0支持自定义用户类型和二级缓存

我正在尝试决定是否从Hibernate全身使用转为使用JPA2.0,从而提供便携式设备.
1. JPA2.0支持自定义用户类型吗?
2.我正处于实现Terracotta二级缓存的边缘,Hibernate主要考虑其聚类能力.我想,但我实际上并不知道,这JPA2.0也定义了二级缓存提供程序的规范.如果我是对的,是否Terracotta实施了它?(如果有人能指出我的入门Terracotta,JPA我会很感激).

感谢提前,
Ittai

java hibernate terracotta second-level-cache jpa-2.0

5
推荐指数
1
解决办法
2821
查看次数

在使用FlushMode.AUTO调用session.close()时,Hibernate会刷新我更新的持久对象吗?

如果设置了FlushMode.AUTO,当我调用session.close()时,Hibernate会刷新我更新的持久对象吗?

我知道session.close()通常不会刷新会话但我不确定FlushMode.AUTO如何影响这个.

来自Docs:

FlushMode.AUTO
会话有时在查询执行之前刷新,以确保查询永远不会返回失效状态.这是默认的刷新模式.

这是否意味着我可以依赖Hibernate来验证我的更改有时会在我的会话关闭之前刷新?

小代码示例:

Session session = HibernateSessionFactory.getSession();  
PersistedObject p = session.get(PersistedObject.class,id);  
p.setSomeProperty(newValue);  
session.close();
Run Code Online (Sandbox Code Playgroud)

更新
根据文档,这些是会话将刷新的地方(使用AUTO时)

  • 在一些查询执行之前
  • 来自org.hibernate.Transaction.commit()
  • 来自Session.flush()

这没有说明Session.close()

java session hibernate flush

5
推荐指数
1
解决办法
8856
查看次数

我可以在 commit() 后重用 UserTransaction 实例吗?


下面代码中ut实例的重用是否正确?

UserTransaction ut = (UserTransaction)ctx.lookup("java:comp/UserTransaction");  
ut.begin();  
doSomeWork();  
ut.commit();//Or rollback (I think it doesn't matter)  
ut.begin();   //Or rollback (I think it doesn't matter)  
doOtherWork();  
ut.commit();  
Run Code Online (Sandbox Code Playgroud)

当定义 JNDI 资源时:

Reference atomikosUserTransactionFactoryDS = new Reference("com.atomikos.icatch.jta.UserTransactionImp", 
                "com.atomikos.icatch.jta.UserTransactionFactory", null);
atomikosUserTransactionFactoryDS.add(new RefAddr("name") {  
public Object getContent() {  
        return "UserTransaction";  
}});  
atomikosUserTransactionFactoryDS.add(new RefAddr("type") {  
    public Object getContent() {  
    return "com.atomikos.icatch.jta.UserTransactionImp";  
}});  
initContext.rebind("java:comp/UserTransaction", atomikosUserTransactionFactoryDS);
Run Code Online (Sandbox Code Playgroud)

我不确定的是我是否需要添加另一个查找,以便在开始新的 UserTransaction 之前从工厂检索新的 UserTransaction?

我认为这无关紧要,但正如资源定义所述,我使用 Atomikos 作为我的事务管理器(因此它是工厂作为工厂)。

谢谢,一

java transactions jta atomikos

5
推荐指数
1
解决办法
3106
查看次数

逆向工程与hibernate工具的多对一单向关联问题


我在Eclipse(Helios)中使用Hibernate工具3.40.我正在尝试使用EJB3样式(即JPA2.0注释)从我的数据库(MSSQL 2008)生成POJO.
比方说,我有两个表AB那里是从外键AB.
默认情况下,这会生成一个POJO,A其中有B一个成员(其"父")和一个POJO,B其中有Set<A>一个成员(其"子").
我想知道如何控制rev-eng,以便只创建关联的一面(我有不同的用例,所以基本上所有三个选项对我来说都很重要).
我不想使用hbm.xml文件,因为我正在使用注释和JPA2.0但是我可以通过hibernae.reveng.xml在逆向工程过程中指定一些元数据来休眠

我已经尝试配置foreign-key属性并在那里定义,exclude=true但这只为我提供了一个场景的答案.这生成了一个A带有bPK int成员的POJO,这是可以容忍和可理解的,但是生成的POJO B现在不能编译,因为one-to-many注释具有无效属性; 在mappedby="unresolved"由于这样的事实,A不再具有休眠复仇可以映射回财产.

所以,我目前无法创建单向关联,我会感激任何帮助.

java hibernate jpa reverse-engineering hibernate-tools

5
推荐指数
1
解决办法
3467
查看次数

Bazel-如何获取目标的所有传递源

我需要编写一个规则来*.foo压缩可执行文件的所有可传递配置文件 ( )(可以是自定义规则、java_binary 和 docker container_image)。
该配置文件可以在出现srcs可执行文件的任何属性的属性(tarsdepsruntime_deps等)

这听起来应该很容易通过附加到我的规则的方面来实现,但我在各种示例之间迷失了方向。

bazel bazel-aspect

5
推荐指数
1
解决办法
591
查看次数