用于图像生成的J2EE EJB3 Web服务

时间:2011-07-01 08:43:52

标签: java-ee io ejb awt

我需要一个关于如何制作返回生成图像的Web服务的最佳解决方案的建议。例如客户根据业务数据给出码ID和服务生成码的图像(这只是一个例子)。
所以我使用EJB3和JPA来实现这一目标。从数据源读取数据并将ejb作为Web服务公开是没有问题的。但我担心两件事 - 在ejb中使用AWT并在ejb中使用文件I / O.

  1. EJB中的AWT

    我已经创建了BufferedImage,我使用java.awt.Graphics2D绘制图像 - 线条,圆圈等。我没有绘制任何东西到屏幕上,只是为了BufferedImage,我愿意传回客户端。
    所以问题是 - 这样做是个好主意吗?如果不是最好的解决方案?
    据说“该程序通过使用AWT / Swing违反了Enterprise JavaBeans规范。”那么在这种情况下使用awt真是个坏主意吗?
    此外,据说“企业bean不得使用AWT功能尝试将信息输出到显示器,或从键盘输入信息。”这是否意味着AWT可以在不同的情况下使用(像这样我没有在屏幕上显示任何内容)?

  2. EJB中的文件I / O

    我不能将i / o用于外部文件,但是那些位于我的ejb jar文件中的文件呢?只读数据是否可以存储在部署jar文件中? 例如,我有一些小图案文件,我想阅读并用于我的绘图(装饰矩形背景等) 那么将它们放在我的jar文件中并将它们仅用于阅读是否合适?

  3. 提前致谢!

1 个答案:

答案 0 :(得分:0)

  

该程序违反了企业版   使用JavaBeans规范   AWT / Swing的

仅当您使用AWT / Swing与键盘/鼠标进行交互时。您正在创建缓冲图像。我没有看到任何问题。

顺便说一句,您打算将缓冲的图像传递回客户端吗? A 真实的图片,某些jpgpng会不会更好?

  

EJB中的文件I / O?

EJB 中的文件IO 被认为是错误的。但是对于你的情况,由于你正在阅读一些模式,这些实际上是资源包。您可以使用Class.getResourceAsStreamClasLoader.getResourceAsStream来读取配置文件(例如,在jar中)