【问题标题】:Very simple Glassfish file transfer非常简单的 Glassfish 文件传输
【发布时间】:2012-03-26 07:14:49
【问题描述】:

我正在尝试结合这些文章:http://java.sun.com/developer/technicalArticles/RMI/rmi_corba/http://netbeans.org/kb/docs/javaee/entappclient.html 使用 Glassfish 制作简单的客户端-服务器应用程序,其中我可以将文件从(本地)客户端发送到(本地)服务器上的目录.这对我来说是新事物,此刻我感到有些不知所措。有什么建议吗?

【问题讨论】:

    标签: java glassfish client-server ejb-3.0 file-transfer


    【解决方案1】:

    你有点走错地方了。您正在查看的内容是支持 RPC 会话。理论上你可以发送一个巨大的字节数组,但这样做可能是不明智的。

    最好创建一个简单的 Web 应用程序并通过 HTTP 推送文件。

    或者您可以尝试使用为 MTOM 配置的 WS Web 服务——它也可以处理大型负载。您可以查看here 以获取有关流式 MTOM 消息的文章。它适用于 WebLogic,但它基本上是 Sun JAX-WS,因此它应该可以在 Glassfish 上开箱即用。

    Web Service 的一个优点是您可以将它托管在 EJB 中,而不必为此设施部署单独的 WAR。您要注意的是所有有效负载都存储在 RAM 中。例如,如果您要发送一个 10Gb 的文件,实际流量将是相同的,但是如果您天真地完成,您最终会在客户端和/或服务器的堆中保留所有 10Gb,这显然是不可取的.

    最终,任何一种方式都会奏效。 Web 服务的缺点是必须深入到 Web 服务堆栈的阴暗角落,与通用 Servlet 和 Web 应用程序一样,它更加开放,但是您可能会深入到内部深处HTTP 来解决这个问题。例如,如果您想使用 Apache HTTP 客户端,则需要创建一个自定义 RequestEntity 来为您处理流式传输。

    一切皆有可能,只是少用而不是默认,开箱即用,2行代码教程示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 2011-08-25
      • 1970-01-01
      • 2014-09-15
      相关资源
      最近更新 更多