小编Cod*_*Med的帖子

来自持久存储的异常加载会话

对spring petclinic应用做了很多改动.目前,当我在使用eclipse运行的tomcat服务器的新实例中启动应用程序时,我收到以下错误消息:在服务器上运行:

SEVERE: Exception loading sessions from persistent storage  
Run Code Online (Sandbox Code Playgroud)

随后服务器和应用程序能够成功启动,但我想修复导致错误消息的任何内容.任何人都可以告诉我如何通过此错误消息?

堆栈跟踪不会列出应用程序中的任何文件,因此我不知道在应用程序代码中查找哪个位置来解决问题.您可以在github上查看petclinic代码以查看应用程序的结构,如果这有助于您了解我应该在哪里找到问题.这是堆栈跟踪:

INFO  EhCacheManagerFactoryBean - Initializing EhCache CacheManager
INFO  ContextLoader - Root WebApplicationContext: initialization completed in 4376 ms
Dec 16, 2013 2:51:56 PM org.apache.catalina.session.StandardManager doLoad
SEVERE: IOException while loading persisted sessions: java.io.EOFException  
java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
    at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
    at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
    at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
    at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

42
推荐指数
4
解决办法
8万
查看次数

使用java配置进行n因子身份验证

Spring MVC中使用的应用程序春天的安全,我想用一个自定义的AuthenticationProvider检查正数超出了预设的附加字段usernamepassword.我正在尝试使用Java配置.我该如何设置?

java authentication spring spring-mvc spring-security

24
推荐指数
3
解决办法
1797
查看次数

期望在模型属性@RequestBody或@RequestPart参数之后立即声明Errors/BindingResult参数

我通过剖析示例应用程序然后在这里和那里添加代码来测试我在解剖过程中开发的理论,从而自学Spring.我测试一些我添加到Spring应用程序的代码时收到以下错误消息:

An Errors/BindingResult argument is expected to be declared immediately after the  
model attribute, the @RequestBody or the @RequestPart arguments to which they apply  
Run Code Online (Sandbox Code Playgroud)

错误消息引用的方法是:

@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(Integer typeID, BindingResult result, Map<String, Object> model) {
    // find owners of a specific type of pet
    typeID = 1;//this is just a placeholder
    Collection<Owner> results = this.clinicService.findOwnerByPetType(typeID);
    model.put("selections", results);
    return "owners/catowners";
}  
Run Code Online (Sandbox Code Playgroud)

当我尝试在Web浏览器中加载/ catowners url模式时,会触发此错误消息.我已经回顾了这个页面这个帖子,但解释似乎并不清楚.

任何人都可以告诉我如何解决这个错误,并解释它是什么意思?

编辑:
基于Biju Kunjummen的回复,我将语法更改为以下内容:

@RequestMapping(value = "/catowners", …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-mvc

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

替换AuthorizationRequest后,HttpSession为null

下面给出了快速重现问题的完整代码和说明.


问题:
HttpSession成为null以后的自定义实现DefaultOAuth2RequestFactory替换当前AuthorizationRequest与保存AuthorizationRequest. 这将导致后续请求失败/oauth/token,因为CsrfFilter在之前的春季安全过滤器链/oauth/token端点无法找到一个session Csrf tokennull session与比较requestCsrf token.


在错误期间控制流量:

以下流程图说明了步骤14步骤15以某种方式 - null通知HttpSession.(或者可能不匹配a JSESSIONID.)在步骤14SYSO开始时的A 表明确实存在确实包含正确的.然而,不知何故,当步骤15触发从URL 处的客户端返回到端点的呼叫时,已经变为. CustomOAuth2RequestFactory.javaHttpSessionCsrfTokenHttpSessionnulllocalhost:8080/loginlocalhost:9999/oauth/token

断点被添加到HttpSessionSecurityContextRepository下面的调试日志中提到的每一行.(它位于在Maven Dependencies所述的夹authservereclipse项目.)这些断点确认HttpSessionnull,当向最终请求/oauth/token在下面的流程图制备.(左下角流程图)null …

spring spring-mvc spring-security spring-boot spring-oauth2

23
推荐指数
1
解决办法
1849
查看次数

npm WARN弃用了npmconf@2.1.2:这个软件包已经重新集成到npm中,现在已经过时了npm

我在CentOS 7服务器上安装node.js,当我尝试安装yeoman时出现以下错误:

npm WARN deprecated npmconf@2.1.2: this package has been  
reintegrated into npm and is now out of date with respect to npm
Run Code Online (Sandbox Code Playgroud)

安装的yeoman似乎正常工作.我能做些什么来避免这种警告吗?让它处理不当会有什么影响?

以下是yeoman安装的终端输出的第一部分的其余部分:

[root@localhost ~]# npm install -g yo
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
/usr/bin/yo -> /usr/lib/node_modules/yo/lib/cli.js

> yo@1.6.0 postinstall /usr/lib/node_modules/yo
> yodoctor
Yeoman Doctor
Running sanity checks on your system
? Global configuration file is valid
? NODE_PATH matches the npm …
Run Code Online (Sandbox Code Playgroud)

javascript node.js yeoman

21
推荐指数
1
解决办法
8999
查看次数

从java调用R脚本

我想从Java调用一个R脚本.我已经对该主题进行了谷歌搜索,但我看到的几乎所有结果都要求我向某些第三方库添加依赖项.任何人都可以告诉我一个很好的方法来完成相同的事情而不添加任何依赖关系到我的代码?

我使用的是Windows机器,所以也许我可以使用命令行来启动R(如果它还没有打开)并运行特定的R脚本.但我从来没有编写过命令行代码(或者用Java调用它)所以我需要代码示例.

我正在使用我的命令行思路包括我为下面的一种可能方法编写的工作示例代码.在下面的内联注释中,您可以看到AssembleDataFile.java中的第三步被我故意留空.如果您认为可以使命令行思想有效,请告诉我在第三步中编写的代码.

另外,请随意建议另一种方法,希望不涉及向我的代码添加任何更多依赖项.

而且,与往常一样,我非常感谢您可能发布到与此问题相关的文章/教程/等的任何链接.

这是我到目前为止:

AssembleDataFile.java

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;

public class AssembleDataFile {
static String delimiter;
static String localPath = "C:\\test\\cr\\";
static String[][] myDataArray;

public static void main(String[] args) {
    String inputPath = localPath+"pd\\";
    String fileName = "MSData.txt";
    delimiter = "\\t";

    // Step One: Import data in two parts
    try {
        // 1A: get length of data file
        BufferedReader br1 = new BufferedReader(new FileReader(inputPath+fileName));
        int numRows = 0;
        int numCols …
Run Code Online (Sandbox Code Playgroud)

java io command-line r

18
推荐指数
3
解决办法
4万
查看次数

/ oauth/token中的XSRF令牌无效

已将多重身份验证的Spring OAuth2实现的完整代码上载到此链接的文件共享站点.下面给出了说明,只需几分钟即可在任何计算机上重新创建当前问题.


当前问题:


大多数身份验证算法都能正常工作.程序不会中断,直到下面显示的控制流程结束.具体来说,Invalid CSRF token found for http://localhost:9999/uaa/oauth/token在下面的第二次通过结束时会抛出错误.在上面的链接的应用程序中加入一个定制开发OAuth2RequestFactory,TwoFactorAuthenticationFilterTwoFactorAuthenticationControllerauthserver应用此的春天启动了OAuth2 GitHub的样品. 需要对下面的代码进行哪些具体更改才能解决此CSRF令牌错误并启用双因素身份验证?

我的研究使我怀疑CustomOAuth2RequestFactory(此链接上的API)可能是配置解决方案的地方,因为它定义了管理AuthorizationRequests和TokenRequests的方法.

官方OAuth2规范的此部分指示state对授权端点发出的请求的参数csrf是添加令牌的位置.

此外,链接中的代码使用此链接中描述的授权代码授权类型到官方规范,这意味着流程中的步骤C不会更新csrf代码,从而在步骤D中触发错误.(您可以查看整个流程包括官方规范步骤C和步骤D. )


控制流量围绕当前错误:


正在所述过程中引发电流误差第二遍通过TwoFactorAuthenticationFilter在下面的流程图.一切都按预期工作,直到控制流进入第二通道.

以下流程图说明了可下载应用程序中的代码所采用的双因素身份验证过程的控制流程.

具体来说,s和s HTTP序列的Firefox 标题显示,序列中POST的每个请求都会发送GET相同的XSRFcookie.该XSRF标记值不会导致一个问题,直到后POST /secure/two_factor_authentication,其在触发服务器处理/oauth/authorize/oauth/token …

spring spring-mvc spring-security spring-boot spring-oauth2

14
推荐指数
1
解决办法
2551
查看次数

gradle process命令java以非零退出值1结束

当我键入gradle bootRun --stacktrace --debugCentOS 7终端以使用gradle启动此示例Spring启动应用程序时,我收到以下错误.

Caused by: org.gradle.process.internal.ExecException:  
Process 'command '/opt/jdk1.8.0_45/bin/java'' finished with  
non-zero exit value 1
Run Code Online (Sandbox Code Playgroud)

我搜索了这个错误并阅读了其他相似但不重复的SO帖子.例如,这是在CentOS 7中的eclipse和一个Web应用程序.这不是Android应用程序等.此外,其他帖子中给出的命令尚未解决此问题.

重现此问题所需的所有代码都在上面的github链接中,所有用于诊断问题的日志都在下面的OP中. 如何解决此错误,以便我gradle bootRun可以成功启动示例应用程序?


逐步复制问题:


我通过导航/home/user/workspaces/和输入来下载应用程序git clone https://github.com/jrodenbostel/beyond-the-examples

然后我导航到cd /home/user/workspaces/beyond-the-examples/part-5并键入gradle bootRun --stacktrace --debug,这导致堆栈跟踪和日志,您可以通过单击此链接到文件共享站点读取. (日志太长,无法包含在此OP中.)

java spring gradle build.gradle spring-boot

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

文档没有保存在spring jpa文档管理器应用程序中

我正在spring使用jpa和开发文档管理应用程序MySQL.应用程序当前正在从用户Web表单接收文档及其元数据createOrUpdateDocumentForm.jsp到控制器中DocumentController.java.但是,数据没有进入MySQL数据库.有人可以告诉我如何更改我的代码,以便文档及其元数据存储在底层数据库中吗?

数据流(包括pdf文档)似乎经历了以下对象:

createOrUpdateDocumentForm.jsp  //omitted for brevity, since it is sending data to controller (see below)
Document.java  
DocumentController.java  
ClinicService.java
JpaDocumentRepository.java
The MySQL database  
Run Code Online (Sandbox Code Playgroud)

我将总结每个对象的相关部分如下:

所述jsp触发器中的以下方法DocumentController.java:

@RequestMapping(value = "/patients/{patientId}/documents/new", headers = "content-type=multipart/*", method = RequestMethod.POST)
public String processCreationForm(@ModelAttribute("document") Document document, BindingResult result, SessionStatus status, @RequestParam("file") final MultipartFile file) {
    document.setCreated();
    byte[] contents;
    Blob blob = null;
    try {
        contents = file.getBytes();
        blob = new SerialBlob(contents);
    } …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-mvc

12
推荐指数
2
解决办法
1731
查看次数

/ oauth/authorize和/ oauth/token如何在Spring OAuth中进行交互?

我正在对Spring OAuth进行深入研究,我发现了一些相互矛盾的信息.有人可以澄清一下吗?

具体来说,本教程指出/oauth/token端点在向客户端应用程序授予刷新令牌之前处理用户名和密码.相比之下,春OAuth的开发手册中提到的/oauth/authorize/oauth/token终点,但仍没有得到具体的关于他们如何工作.

是否/oauth/authorize做了100%的username/password/nOtherFactors检查,然后将信号/oauth/token端点发送一个刷新令牌给客户,让客户端将发送更新凭证到/oauth/token终点?

或者全部是由/oauth/token端点处理的?

之间的关系是/oauth/authorize/oauth/token不同的对不同类型的补助?怎么样?

spring oauth oauth-2.0 spring-security-oauth2 spring-oauth2

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