小编gki*_*iko的帖子

Jersey服务文件上载导致OutOfMemoryError

我正在使用Jersey 2.0开发表单提交服务.表单包括几个文本字段和一个文件字段.我需要提取文件,文件名,文件媒体类型文件内容类型,并将它们保存在对象库中.

@Path("upload")
@Consumes({MediaType.MULTIPART_FORM_DATA})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public class UploadService {
    @POST
    public BlobDo uploadFile(FormDataMultiPart uploadedBody) {
        String accountSid = uploadedBody.getField("account-sid").getValue();
        String apiToken = uploadedBody.getField("api-token").getValue();
        String checksum = uploadedBody.getField("checksum").getValue();

        FormDataBodyPart bodyPart = uploadedBody.getField("file");
        MySwiftObject obj = new MySwiftObject(bodyPart.getValueAs(InputStream.class));
        obj.setName(bodyPart.getContentDisposition().getFileName());
        obj.setContentType(bodyPart.getMediaType().toString());
        obj.setContentDisposition(bodyPart.getContentDisposition().toString());
   ...
}
Run Code Online (Sandbox Code Playgroud)

的pom.xml

<jersey.version>2.17</jersey.version>

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet-core</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.test-framework.providers</groupId>
    <artifactId>jersey-test-framework-provider-inmemory</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-server</artifactId>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.ext</groupId>
    <artifactId>jersey-bean-validation</artifactId>
</dependency> …
Run Code Online (Sandbox Code Playgroud)

file-upload multipartform-data heap-memory jersey

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

Amazon S3对象复制

伙计们,我可能正在阅读不同的东西,但是我一直认为我们东方的对象和桶不会自动复制到我们西方......然而,阅读文档,我看到两个相互矛盾的陈述:

来自http://aws.amazon.com/s3/:

存储在Region中的对象永远不会离开Region,除非您将它们传输出去.例如,存储在欧盟(爱尔兰)区域的对象永远不会离开欧盟.

但是,在http://docs.aws.amazon.com/中:

s3.amazonaws.com端点 - Amazon S3使用网络地图自动将请求路由到北弗吉尼亚州或太平洋西北地区的设施.

存储在美国标准中的对象将复制到太平洋西北地区和弗吉尼亚北部的多个数据中心,如果您使用非特定于地区的URL端点访问S3,则请求将路由到最近的数据中心(基于我们的地理信息) ).

所以,我的问题是,它是什么?对象会自动复制吗?或者我们是否在区域之间手动复制对象,然后使用s3.amazonaws.com端点?

谢谢!

amazon-s3

9
推荐指数
2
解决办法
4760
查看次数

如何在没有JSON.NET库的情况下将对象转换为JSON?

我想保存这个对象:

Student s = new Student();
Run Code Online (Sandbox Code Playgroud)

到Json文件.但Visual Studio 2012找不到这些名称空间:

System.Web.Script;
System.Json;
System.Runtime.Serialization.Json;
Run Code Online (Sandbox Code Playgroud)

任何的想法?

c# serialization json

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

自定义选择器对话框

我是Android的新手.我的应用程序中有一个默认的微调器.我想改变微调器的设计.单击微调器时,屏幕上将显示选择器对话框,显示可滚动列表.我不知道如何实现代码来满足我的要求.

在此输入图像描述

我读过这些文章:(1) (2)

android android-alertdialog

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

将具有相同名称的多个FormDataParams发布到java Jersey REST服务

我有一个球衣服务和单元测试(使用泽西客户端),可以使用3 FormDataParams:

@Path("myService")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@POST
@Produces(MediaType.TEXT_PLAIN)
public Response doService(@FormDataParam("p1") String v1,
                         @FormDataParam("p2") InputStream v2,
                         @FormDataParam("p3") InputStream v3) throws IOException {
Run Code Online (Sandbox Code Playgroud)

测试代码是这样的:

FormDataMultiPart fdmp = new FormDataMultiPart();      
fdmp.field("p1", v1);
fdmp.field("p2", v2);
fdmp.field("p3", v3);
ClientResponse response = service.path("myService").type(MediaType.MULTIPART_FORM_DATA).accept(MediaType.TEXT_PLAIN).post(ClientResponse.class, fdmp);
Run Code Online (Sandbox Code Playgroud)

问题是当我更改它以支持p1字段的多个值时.我更改了服务签名部分

@FormDataParam("p1") String v1,
Run Code Online (Sandbox Code Playgroud)

@FormDataParam("p1") List<String> v1,
Run Code Online (Sandbox Code Playgroud)

但后来我明白了

04-Apr-2012 18:56:59 com.sun.grizzly.http.servlet.ServletAdapter doService
SEVERE: service exception:
java.lang.IllegalArgumentException: wrong number of arguments
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:172)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:265)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
    at …
Run Code Online (Sandbox Code Playgroud)

java rest web-services jersey

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

无法解析我的包的符号

类似的问题

Android Studio内联编译器显示红色错误,但使用gradle编译工作正常 Android Studio Marks语法为错误,但是gradle编译

通过编辑build.gradle和升级我的Gradle版本后我的项目破了gradle-wrapper.properties.但是我可以在虚拟设备上运行它而不会出错.

无论是同步与摇篮文件,的Invalidate缓存也不回滚到老提交解决问题.我的工作区快照 工作区LeagueMatch它们在同一个包中,但它们无法看到对方.使用具有完整路径的类不能解决问题,因为我的包不可见,例如Cannot resolve symbol 'model'.回滚到先前的提交并不能解决问题.

最初我想制作New Relic工作,需要新版本的gradle.这引起了更大的问题.你能帮我找到解决方案吗?

编辑

我想我明白了.我创建了一个新项目,只复制了旧的Java源文件和xml res文件,红线消失了.左屏是旧项目.

左老;  右键新

android-studio android-gradle-plugin

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

对每个Travis拉取请求构建运行Coverity扫描

我想尽可能自动化学生作业评分系统.理想情况下,在提交作业时将采取这些步骤.

  1. 学生分叉我的Github存储库并修改文件
  2. 学生将本地代码推送到他的存储库并创建拉取请求
  3. Travis CI检测到pull请求并运行Pull Request构建
  4. 如果代码构建成功,Coverity将对pull请求运行静态代码分析
  5. 学生从Github拉取请求页面获取构建状态

我已成功为我的仓库中的每个拉动请求设置了Travis构建.我已成功通过Travis对我的回购中的每次提交进行Coverity扫描.但我不能触发Coverity扫描拉取请求,只运行Travis构建.我可以修复此问题并为每个拉取请求维护Coverity扫描报告吗?

这是我的 .travis.yml

language: c
compiler: gcc

env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "WHkT1bLbpz8VA8tl+qyZvWHLg7YvnMPhCNXCEAQQaklcDq8HQ7glIrrs35VnTDfs09tVgkPbgsAfwBuwxqkmmxWaquW0AHdb6cefNpQVj2ovUriQVNBFmjfte9Bbq0NWKoLp+4IY/3IDfLoUOekOIDXuQtkJhNvX1zkkt21lSeo="

addons:
  coverity_scan:
    project:
      name: "Freeuni-CN101-2014/midterm"
      description: "Build submitted via Travis CI"
    notification_email: example@mail.com
    build_command_prepend: ""
    build_command:   "make"
    branch_pattern: "*"

script: make
Run Code Online (Sandbox Code Playgroud)

特拉维斯输出拉请求在这里

我在这里将pull请求与主分支合并后的Travis输出

github travis-ci coverity

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

在Visual Studio 2010中构建问题

我在大学使用CS106库.用Visual Studio 2010更改Visual Studio 2008后,我在构建新项目或旧项目方面遇到了问题.我认为新的Visual Studio与CS106库不兼容.任何人都可以告诉我如何解决这个问题.问题?

这是输出:

1>------ Build started: Project: Blank, Configuration: Debug Win32 ------ 1>Build started 3/15/2011 2:03:21 PM. 1>InitializeBuildStatus: 1> Touching "Debug\Blank.unsuccessfulbuild". 1>ClCompile: 1> All outputs are up-to-date. 1>CS106CPPLib.lib(strutils.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>CS106CPPLib.lib(simpio.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) referenced in function "public: class std::basic_string,class std::allocator > & __thiscall std::basic_string,class std::allocator >::assign(class std::basic_string,class std::allocator > const &,unsigned int,unsigned …

visual-studio-2010

4
推荐指数
1
解决办法
7280
查看次数

从源代码构建HikariCP

我想用HikariPC取代BoneCP.从这里下载并解压缩.我不知道这是一个正确的命令,但在我运行的目录中tar.gzhikaricp-java6

$ mvn clean compile assembly:single

maven打印错误

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/gkiko/Downloads/brettwooldridge-HikariCP-5cb1000/hikaricp-java6/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java:[358,20] cannot find symbol
symbol  : method hasQueuedPredecessors()
location: class com.zaxxer.hikari.util.ConcurrentBag.Synchronizer
[ERROR] /Users/gkiko/Downloads/brettwooldridge-HikariCP-5cb1000/hikaricp-java6/src/main/java/com/zaxxer/hikari/pool/HikariPool.java:[150,37] cannot find symbol
symbol  : method setRemoveOnCancelPolicy(boolean)
location: class java.util.concurrent.ScheduledThreadPoolExecutor
[ERROR] /Users/gkiko/Downloads/brettwooldridge-HikariCP-5cb1000/hikaricp-java6/src/main/java/com/zaxxer/hikari/pool/HikariPool.java:[486,28] cannot find symbol
symbol  : method abort(java.util.concurrent.ExecutorService)
location: interface com.zaxxer.hikari.proxy.IHikariConnectionProxy
[INFO] 3 errors 
[INFO] ------------------------------------------
[INFO] -------------------------------------------------------
[INFO] BUILD FAILURE
Run Code Online (Sandbox Code Playgroud)

maven版本:

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T21:37:52+04:00)
Maven home: /usr/local/Cellar/maven/3.2.1/libexec
Java version: 1.6.0_65, vendor: …
Run Code Online (Sandbox Code Playgroud)

maven hikaricp

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

修剪源分支在上游不再存在

这些分支在上游

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gh-pages
  remotes/origin/master
  remotes/origin/next
  remotes/origin/translation
  remotes/origin/v1.0.1
  remotes/origin/videoConverter
Run Code Online (Sandbox Code Playgroud)

这些是我叉子上的树枝

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/beta
  remotes/origin/dashboardNewContent
  remotes/origin/externalUrl
  remotes/origin/gh-pages
  remotes/origin/master
  remotes/origin/next
  remotes/origin/rc
  remotes/origin/rc-0.3.0
  remotes/origin/release-candidate
  remotes/origin/streama-node
  remotes/origin/translation
  remotes/origin/v1.0.0
  remotes/origin/videoConverter
  remotes/upstream/gh-pages
  remotes/upstream/master
  remotes/upstream/next
  remotes/upstream/translation
  remotes/upstream/v1.0.1
  remotes/upstream/videoConverter
Run Code Online (Sandbox Code Playgroud)

自从我分叉以来,上游仓库已更新。我找不到从上游删除不再存在的分支的方法。该GitHub教程显示了如何同步提交历史记录。

是否有解决此问题的简单方法?

git git-branch git-fork

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

使用 RequestDispatcher 调用 servlet 的 doGet() 方法

如何doGet()从调用方法RequestDispatcher

RequestDispatcher rd = sc.getRequestDispatcher("/CartServlet");
rd.forward(request, response);

此代码调用doPost()作为默认操作。

java servlets requestdispatcher

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