Spring WebApp 如何管理不同的客户端?要求?

发布于 2024-11-08 13:48:52 字数 527 浏览 0 评论 0原文

可能有很多人读到这个问题时会微笑......

这是我的问题。 我有一个 Spring 3 Web 应用程序,既充当客户端又充当服务器。它从客户端“C”获取一些 XML 数据,对其进行处理,然后将它们发送到服务器“S”。 来自 C 的输入 XML 必须根据一种模式(例如“c.xsd”)进行验证,而来自 S 的输出 XML 必须根据不同的模式(例如“s.xsd”)进行验证。

我使用 jaxb2 进行编组和解组。

在文档中,我读到可以为 [un]/marshaller 设置“schema”属性。

因此,当我获得输入时,我需要一个 a.xsd 进行验证,当我生成输出时,我需要一个 b.xsd...问题如下: 当我将验证模式从 c,xsd 切换到 s.xsd(在处理来自 C 的请求后生成输出)时,我是否会更改服务器的状态?换句话说,如果我在处理来自 C 的第一个请求时收到来自客户端 C2 的第二个请求,我是否会尝试根据 s.xsd 验证 C2 输入?应用程序会自动将 C2 请求放在不同的线程上吗?如果没有,我该如何配置 spring 来做到这一点?

多谢!

probably there are a lot of people who will smile reading this question...

Here's my problem.
I have a Spring 3 web application acting both as a client and server. It gets some XML data from a client "C", it processes them, and it sends them to a server "S".
The input XML fron C must be validated against a schema (e.g. "c.xsd") while the output XML to S must be validated against a different one (e.g. "s.xsd").

I'm using jaxb2 for marshalling and unmarshalling.

In the documentation I read that it is possible to set the "schema" attribute for the [un]/marshaller.

Therefore, I need to have an a.xsd for the validation when I get an input and a b.xsd when I produce an output... the question is the following:
when I switch the validation schema from c,xsd to s.xsd (producing an output after processing a request from C), do I change the status of the server? In other words, If I am receiving a second request form a client C2 when I'm processing the first request from C, will I attempt to validate C2 input against s.xsd? Will the application automatically put the C2 request on a different thread? If not, how can I configure spring to do so?

Thanks alot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔少女心 2024-11-15 13:48:52

我会尝试一下:

来自 C 的输入 XML 必须经过验证
针对架构(例如“c.xsd”)

您可以通过在 Unmarshaller 上设置架构 (c.xsd) 来完成此操作。

而到 S 的输出 XML 必须是
针对不同的验证
(例如“s.xsd”)。

您可以通过在编组器上设置架构 (s.xsd) 来完成此操作。

当我切换验证架构时
从 c,xsd 到 s.xsd (生成
处理请求后的输出
C)、我是否要更改
服务器?

不,因为 Unmarshaller 始终使用 c.xsd,而 Marshaller 始终使用 s.xsd。

由于 Marshaller 和 Unmarshaller 不是线程安全的,因此您必须确保不要在线程之间共享它们。

I'll take a stab at it:

The input XML fron C must be validated
against a schema (e.g. "c.xsd")

You can do this by setting a schema (c.xsd) on the Unmarshaller.

while the output XML to S must be
validated against a different one
(e.g. "s.xsd").

You can do this by setting a schema (s.xsd) on the Marshaller.

when I switch the validation schema
from c,xsd to s.xsd (producing an
output after processing a request from
C), do I change the status of the
server?

No, because the Unmarshaller is always using c.xsd and the Marshaller is always using s.xsd.

Since Marshaller and Unmarshaller are not thread safe you must be sure not to share them among threads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文