【问题标题】:Spawn thread from servlet?从servlet产生线程?
【发布时间】:2011-07-18 23:06:12
【问题描述】:

我有一个 servlet,它调用 Web 服务并获取数据以填充 servlet 响应。 我也不想等太久。 我可以只生成一个新线程并调用 Web 服务吗?如果不建议这样做,有什么更好的方法?

谢谢

【问题讨论】:

    标签: java multithreading servlets spawn


    【解决方案1】:

    什么都可以做。

    如果您生成一个新线程,这意味着您必须立即向客户端返回一些内容。会是什么?您的用户最终会想知道数据何时可用。让他们知道的回调机制是什么?他们会投票吗?你要发消息吗?是否有类似 Fedex 的跟踪 ID 可用于确定数据何时准备就绪?

    您认为您需要多少线程?你会汇集这些线程吗?如果数据请求失败会怎样?

    这比向上或向下“创建一个新线程”所暗示的要复杂得多。想一想。

    【讨论】:

    • 我想等 10 秒。如果 web 服务没有响应,我想发送一个 servlet 响应“web 服务不可用”,否则我想根据我从 web 服务得到的内容来编写 servlet 响应。
    • 您使用的是什么 Web 服务客户端库?它可能会有一些方法来定义超时。
    • 感谢 Esko,实际上我继承了这个,但看起来 com.ibm.websphere.webservices.http.connectionTimeout 会起作用。
    • 您会让 Web 客户端等待十秒钟以等待响应?你不会有很长时间的用户。
    • 订阅者将有 180 秒 :-)(好吧,这只是一个例子)
    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2011-02-11
    • 2015-01-11
    相关资源
    最近更新 更多