小编dig*_*nie的帖子

如何使用正则表达式替换字符串中的最后一个点?

我正在尝试使用正则表达式替换String中的最后一个点.

假设我有以下字符串:

String string = "hello.world.how.are.you!";
Run Code Online (Sandbox Code Playgroud)

我想用感叹号替换最后一个点,结果是:

"hello.world.how.are!you!"
Run Code Online (Sandbox Code Playgroud)

我已经尝试了使用该方法的各种表达,String.replaceAll(String, String)没有任何运气.

java regex string

7
推荐指数
3
解决办法
2万
查看次数

在浏览器中实时搜索xpath

是否有工具或浏览器插件(不确定Firebug是否可以执行此操作),它将允许您打开网页,然后使用工具/插件使用xpath查询进行搜索,它将突出显示与您的查询匹配的屏幕上的内容?

search plugins xpath

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

在getCurrentSession()上使用openSession() - 何时以及为什么?

这个问题与我提出的另一个问题有关,但是为什么你会使用openSession()而不是getCurrentSession()的原因是什么?我知道您将使用openSession()以便您可以自行管理会话的关闭和刷新,但是,为什么要手动执行此操作?

当我想在当前会话中隔离执行事务时我使用了openSession(),虽然我不确定这是否正确使用了openSession().

为什么要打开多个会话?

java hibernate jpa

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

获取在SessionFactory中设置的所有表名

有没有办法检索由SessionFactory?管理的所有表的名称?例如,通过添加的所有表格AnnotationConfiguration.addAnnotatedClass(...))

java hibernate

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

从禁用的JTextField复制文本

是否可以允许用户从禁用的JTextField中复制文本?目前,如果我有一个禁用的文本字段,则用户无法选择要复制并粘贴到另一个应用程序的文本.

java swing jtextfield

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

Play Framework:PDF'通过Job使用highcharts JS库的模板

这是我之前发布的帖子的扩展.

总结一下发生了什么:

  • 我正在使用一个每小时执行一次的Job,它将生成一个PDF作为电子邮件中的附件发送
  • 作业没有太大作用,但直接调用控制器生成PDF并发送电子邮件.我打电话给控制器来完成工作,因为我正在使用PDF模块(当前)需要HTTP请求作为其PDF处理的一部分.以下是我通过Job调用控制器的方法:

    WS.url( "我的/ URL /是/点/到/的/控制器")得到().

  • 我之前关于包含高图JS图表的PDF模板的问题在于它生成了图表客户端,这对于PDF生成来说已经太晚了,因此我的PDF生成减去了图表.为了解决这个问题,我现在使用highcharts-serverside-export来生成图表服务器端

如果我使用上面的相同类并在浏览器中呈现模板(即直接通过控制器并忽略Job),则会在服务器端创建图表,并在浏览器中正确呈现视图.

我通过调用另一个控制器来生成模板中的图表,如下所示:

<img src="@{ChartGenerator.go()}">
Run Code Online (Sandbox Code Playgroud)

ChartGenerator控制器基本上按照highcharts-serverside-export文档构建图表服务器端,并调用Play的renderBinary方法.

正如我所说,模板在浏览器中使用服务器端生成的图表呈现正常.但是,当通过每小时执行一次的Job时,ChartGenerator.go()调用似乎不起作用.控制台吐出这个:

INFO  ~ /chartgenerator/go is not a URL; may be relative.
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法如何解决这个问题?我已经证明它可以减去工作,现在需要弄清楚为什么当通过工作时,它似乎不起作用.

编辑:根据Pere的建议,我的模板现在通过执行此操作调用ChartGenerator类(请注意double @'s):

 <img src="@@{ChartGenerator.go()}">
Run Code Online (Sandbox Code Playgroud)

我认为这让我更进一步,现在这在日志中吐出来:

Error during job execution (fun.EmailJob)
Execution exception (In /fun/EmailJob.java around line 19)
RuntimeException occured : java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: No response received after 60000
...
09:23:54,687 WARN  ~ bad URL given: http://<full url>/chartgenerator/go
java.net.SocketTimeoutException: Read timed out
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中点击http:// <full url>/chartgenerator/go的URL,则会在浏览器中正确呈现highcharts png文件.正如预期的那样,即使在这个double @ change之后,如果我在浏览器中渲染模板(没有pdf'ing),模板也会正确地呈现服务器端生成的图表.

编辑#2: …

java pdf-generation highcharts playframework

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

Spring Security:使用特殊的URL参数忽略登录页面

我目前有一个看起来像这样的设置:

弹簧security.xml文件:

<http auto-config="true">
    <intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <intercept-url pattern="/**" access="ROLE_USER" />
    <form-login login-page="/login"
                default-target-url="/main.html"
                authentication-failure-url="/failedLogin"/>
    <logout logout-url="/logout.html" logout-success-url="/login" />
</http>

<authentication-manager>
    <authentication-provider>
        <user-service>
            <user name="foo" password="bar" authorities="ROLE_USER" />                
        </user-service>
    </authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)

web.xml中:

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

这一切似乎都按预期工作,但是,在特殊情况下,如果用户传入特殊令牌,我希望绕过登录页面.因此,目前,如果用户访问诸如此类的URL /dog,他们将看到登录页面,如果他们传递了凭据,foo/bar那么他们将登录并查看对应的页面/dog.

我希望能够使用诸如/dog?token=abcd绕过登录屏幕并直接将其带到相应页面的URL /dog.如果他们提供无效令牌,那么他们只会看到拒绝访问的页面.

java spring spring-security

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

IntelliJ:UI Designer文档/教程

我在IntelliJ 9(终极版)中启用了UI Designer插件.我发现了一些没有真正显示太多的旧flash 教程,它基于IntelliJ 6(!).是否有任何文档或教程可以通过使用UI Designer的swing设备进行,该设计器比旧的IntelliJ 6版本更新近和/或更复杂?

java intellij-idea

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

从不同JVM中的Java桌面应用程序中执行Java main方法

我有一个桌面应用程序,当有人按下按钮时,我希望它启动另一个执行类主要方法的JVM.我的桌面应用程序已经依赖于包含具有我想要执行的主方法的类的jar.

目前我有以下代码,但是,我希望他们这样做是一种更优雅的方式:

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("java -jar another.jar");
Run Code Online (Sandbox Code Playgroud)

我知道我也可以使用ProcessBuilder.

有没有这样的方法(原谅伪代码):

Jvm.execute(Main.class);
Run Code Online (Sandbox Code Playgroud)

由于我想调用的Main类已经存在于我的类路径中,因此必须java通过Runtime 运行命令才会感到奇怪.

java jvm

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

访问数据库的多个线程:一个具有长事务,一个具有短事务

假设我有一个桌面应用程序,可以充当一堆汽车的车库:

@Entity
public class Garage {
    private List<Car> cars = new ArrayList<Car>();
    ...
}
Run Code Online (Sandbox Code Playgroud)

桌面应用程序有一个"模拟"按钮,可以启动一个新线程并开始调用Garage,Car,Wheel等方法.此模拟可能需要长达10分钟才能运行.目前我有一个看起来像这样的课程:

beginTransaction();
Garage garage = garageDao.findGarage(1);
List<Car> cars = garage.getCars();
for (Car car : cars) {
    // call methods on the car to lazily fetch other things like wheels...
}
commitTransaction();
Run Code Online (Sandbox Code Playgroud)

此代码只执行"读取"而从不"写入"

因此,上述情况可能需要很长时间,具体取决于汽车需要多少服务.在发生上述情况时,用户可以继续使用桌面应用程序.他们可能会选择更改上述交易中使用的汽车颜色.

我的问题是,上述长期交易是否会阻止汽车颜色的变化?即,用户在桌面应用程序中更改汽车的颜色将被阻止提交更改,直到长事务完成?

java database hibernate jpa

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