小编Sun*_*amy的帖子

Spring JDBCTemplate VS Hibernate在性能方面

在我们的项目中,我们必须在Spring JDBCTemplate和Hibernate之间做出决定.

我想知道哪个在性能,实现和设计方面更好.如何?

spring hibernate jdbctemplate

41
推荐指数
3
解决办法
5万
查看次数

Spring Security和@Async(经过身份验证的用户混淆)

我使用@Async异步调用Spring方法.该方法调用其他使用@PreAuthorize,Spring Security Annotation注释的方法.要使授权工作,我必须将SecurityContextHolder模式设置为MODE_INHERITABLETHREADLOCAL,以便将身份验证信息传递给异步调用.到目前为止一切正常.

但是,当我以不同的用户身份注销和登录时,在异步方法中,SecurityContextHolder会存储已注销的旧用户的身份验证信息.它当然会引起不必要的AccessDenied异常.同步调用没有这样的问题.

我已定义<task:executor id="executors" pool-size="10"/>,所以可能是一个问题,一旦执行程序池中的线程已初始化,它将不会覆盖身份验证信息?

spring asynchronous spring-security

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

如何调试/记录Tomcat JDBC连接池的连接?

我正在使用Tomcat JDBC连接池以及Spring启动,JDBC模板和SQL Server.当应用程序等待数据库连接时,我需要知道连接池内部的内容.如....

  • 没有活动连接
  • 没有空闲连接
  • 没有被阻止的连接,其他信息阻止此连接的原因
  • 没有可用的连接
  • 和......

有没有办法通过调试或使用log4j等日志框架来获取这些信息?

任何想法将不胜感激.

debugging logging tomcat log4j connection-pooling

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

在Tomcat 8.5 Startup期间从Spring boot 1.2升级到1.5.2,FileNotFoundException

Spring Boot从1.2.0 升级1.5.2.

升级之后,Tomcat 8.5启动期间抛出FileNotFoundException.

下面是其中一个例外,它引发了超过10个类似的例外.

我不知道这些罐子的用途,换句话说,我没有<dependency>pom.xml中添加这些罐子.

INFO: Starting Servlet Engine: Apache Tomcat/8.5.11
Apr 06, 2017 3:53:57 PM org.apache.tomcat.util.scan.StandardJarScanner scan
WARNING: Failed to scan [file:/C:/Users/myname/.m2/repository/com/sun/xml/ws/jaxws-rt/2.1.7/jaxws-api.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\Users\myname\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-api.jar (The system cannot find the file specified)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:219)
    at java.util.zip.ZipFile.<init>(ZipFile.java:149)
    at java.util.jar.JarFile.<init>(JarFile.java:166)
    at java.util.jar.JarFile.<init>(JarFile.java:130)
    at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
    at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:48)
    at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
    at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
    at …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot tomcat8.5

20
推荐指数
2
解决办法
7407
查看次数

GZip压缩无法在Internet Explorer 11中运行,但在Chrome和Firefox中运行良好

共同的,

我使用Spring中的CompressingFilter(https://github.com/ziplet/ziplet)和FilterRegistrationBean 在我的Spring Boot Embedded Tomcat中启用了GZip压缩.

它在Chrome和Firefox中运行良好.

  • 我在响应头中获取Content-Encoding = gzip
  • 传输的JSON数据大小从6.5MB减少到1.2 MB - 很棒:-)

但是,同样的代码是不是在工作的Internet Explorer 11.0.9600.18097.

在Internet Explorer中,

  • 响应标头中缺少Content-Encoding = gzip
  • 传输的JSON数据大小仍然只有6.5MB.

我已经粘贴了我的标题(IE11). 在IE11中请求标头

响应标头 -  IE11

任何人都可以帮我解决这个问题吗?

更新: 请在下方找到Chrome标头.

在此输入图像描述

spring gzip internet-explorer-11 spring-boot

13
推荐指数
1
解决办法
6637
查看次数

Android Studio - java.io.IOException:无法生成v1签名

我将Android Studio更新到3.0 Canary 4之后的所有新版本后出现此错误.(我使用的是v3.0,因为它更快,并且不需要为Kotlin插孔.)

看起来构建流程存在问题,它无法为调试版本和发布版本生成或签署我的APK文件.

我也尝试删除我的debug.keystore,重新启动AndroidStudio和系统(!!!),但它没有解决.

这是一个完整的Gradle日志:

FAILURE: Build failed with an exception.

* What went wrong: Execution failed for task ':chris-app:packageDemoDebug'.
java.io.IOException: Failed to generate v1 signature

* Try: Run with --info or --debug option to get more log output.

* Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':chris-app:packageDemoDebug'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:243)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) …
Run Code Online (Sandbox Code Playgroud)

java android gradle kotlin android-studio

13
推荐指数
1
解决办法
5528
查看次数

Websocket,Server Sent Events(SSE)和HTTP2的Server Pushing之间有什么区别?

有人可以简要介绍这些看似相似的技术之间的区别吗?

  • 的WebSocket
  • 服务器发送事件(SSE)
  • HTTP2的服务器推送

我知道所有这三个都是" 推动 "来自服务器的响应,而不是客户端的请求.

初看起来,似乎都是一样的.我需要更清楚地了解差异.

http push-notification websocket http2

7
推荐指数
1
解决办法
4156
查看次数

Startdust和Activiti有什么区别

我正在尝试为我的项目选择一个开放的BPMN工具,我发现了Eclipse和Activiti的Infinity/Stardust.

这些BPMN工具之间有什么区别/优势?

eclipse apache bpmn activiti

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

如何从Java中删除字符串中的\ u200B(零长度空白Unicode字符)?

我的应用程序使用Spring IntegrationOutlook邮箱进行电子邮件轮询.

因为,它从外部系统(Outlook)接收字符串(电子邮件正文),所以我无法控制它.

例如,

String emailBodyStr= "rejected by sundar14-\u200B.";
Run Code Online (Sandbox Code Playgroud)

现在我试图从此String中删除 unicode字符\ u200B.

我已经尝试过了什么.

尝试#1:

emailBodyStr = emailBodyStr.replaceAll("\u200B", "");
Run Code Online (Sandbox Code Playgroud)

尝试#2:

`emailBodyStr = emailBodyStr.replaceAll("\u200B", "").trim();`
Run Code Online (Sandbox Code Playgroud)

尝试#3(使用Apache Commons):

StringEscapeUtils.unescapeJava(emailBodyStr);
Run Code Online (Sandbox Code Playgroud)

尝试#4:

StringEscapeUtils.unescapeJava(emailBodyStr).trim();
Run Code Online (Sandbox Code Playgroud)

到目前为止没有任何工作.

当我尝试使用下面的代码打印此字符串时.

logger.info("Comment BEFORE:{}",emailBodyStr);
logger.info("Comment AFTER :{}",emailBodyStr);
Run Code Online (Sandbox Code Playgroud)

Eclipse控制台中,它打印unicode char,

评论之前:被sundar14-拒绝.

但是相同的代码在Linux控制台中打印unicode char,如下所示.

评论之前:被sundar14-\u200B拒绝.

我读了一些推荐str.replace()的例子,但请注意,例子使用的是javascript,PHP不是 Java.

java regex string unicode outlook

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

SQL Server中的UNION如何将一行与另一行进行比较?

这个问题是关于SQL UNION运算符查找重复行的内部方式 - 而不是编写我们自己的查询来比较2行.

例如,考虑我使用带有2个选择查询的联合.每个select都连接5或6个表,结果集中有10列.

问题是:如何UNION找到重复的行?是否将select1的column1与select1的column1&select2的column2与select2的column2进行比较......?

当我在每个选择中有10列时 - 结果包含7000行(例如).

当我在select语句中有9或11列时(但是在连接/查询逻辑中没有变化) - 结果包含不同的行数,而不是7000.

任何人都可以解释,如何UNION确定哪些行是'重复'?

注意:我使用的是SQL Server 2008.

sql sql-server

3
推荐指数
1
解决办法
409
查看次数

ElasticSearch 在哪里/如何存储从 Logstash 收到的日志?

免责声明:我对 ELK Stack非常陌生,所以这个问题可能非常基本。

我现在正在设置 ELK 堆栈。我有以下关于ElasticSearch 的基本问题。

  1. Elasticsearch遵循的存储模型是什么?

例如,Oracle 使用关系模型,Alfresco 使用“文档模型”,Apache Jackrabbit 使用“层次模型”

2.elasticsearch中存储的日志数据是持久的/永久的吗?或者ElasticSearch在一段时间后删除日志数据?

3.我们将如何管理/备份这些数据?

4.Elastic Search 中的日志/数据文件是人类可读的

任何帮助/文档路径将不胜感激。

storage elasticsearch elastic-stack

2
推荐指数
1
解决办法
2188
查看次数

为什么Spring JDBCTemplate中没有insert()?

我注意到Spring JDBCTemplate正在使用update()方法进行插入,更新和删除操作.

我很想知道为什么像jdbcTemplate.insert()和jdbcTemplate.delete()这样的方法不可用?

这个设计决定背后的任何好理由?

java spring jdbctemplate

0
推荐指数
1
解决办法
885
查看次数