Jersey客户端创建错误

问题描述 投票:5回答:2

在一小时的交通后我有以下异常,我需要检查什么?这段代码可以在一小时内正常运行。我认为有些系统文件夹已满。

Dec 21, 2014 2:27:32 PM com.sun.jersey.multipart.impl.MultiPartReaderClientSide createMimeConfig
WARNING: Cannot create temporary files. Multipart attachments will be limited to 4096 bytes.
java.io.IOException: No space left on device
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:1006)
        at java.io.File.createTempFile(File.java:1989)
        at java.io.File.createTempFile(File.java:2040)
        at com.sun.jersey.multipart.impl.MultiPartReaderClientSide.createMimeConfig(MultiPartReaderClientSide.java:120)
        at com.sun.jersey.multipart.impl.MultiPartReaderClientSide.<init>(MultiPartReaderClientSide.java:109)
        at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(ComponentConstructor.java:210)
        at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:180)
        at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:166)
        at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137)
        at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:283)
        at com.sun.jersey.core.spi.component.ProviderServices.getServices(ProviderServices.java:163)
        at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:176)
        at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
        at com.sun.jersey.api.client.Client.init(Client.java:343)
        at com.sun.jersey.api.client.Client.access$000(Client.java:119)
        at com.sun.jersey.api.client.Client$1.f(Client.java:192)
        at com.sun.jersey.api.client.Client$1.f(Client.java:188)
        at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
        at com.sun.jersey.api.client.Client.<init>(Client.java:188)
        at com.sun.jersey.api.client.Client.<init>(Client.java:171)
        at com.sun.jersey.api.client.Client.create(Client.java:683)

异常显示"Client client = Client.create(config);"代码语句无法执行。

private static boolean callFileDownloadDelete(User user, String fileUrl, boolean isDownloadCompleted) {
    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);
    client.addFilter(new HTTPBasicAuthFilter(user.getUserName(), user.getPassword()));

我正在模拟客户端 - 服务器交互,就像真实用户执行了一个操作一样,我是否必须为每个用户创建一个客户端实例,或者每次执行操作时应该创建客户端吗?

java linux jersey
2个回答
2
投票

我的消息有一个类似的错误:

警告:无法创建临时文件。多部分附件将限制为4096字节。 java.io.IOException:没有这样的文件或目录

这是因为文件夹${APACHE_HOME}/temp不存在。

创建丢失的文件夹并重新启动tomcat后,错误消息停止显示。


1
投票

我发现${APACHE_HOME}/temp文件夹有大约20亿个临时文件,删除后所有问题都解决了。

© www.soinside.com 2019 - 2024. All rights reserved.