Xml JBoss JNDI绑定管理器-值的最大长度?

Xml JBoss JNDI绑定管理器-值的最大长度?,xml,jboss,jndi,Xml,Jboss,Jndi,我使用所描述的技术通过部署到JBoss的XML文件在JNDI树上注册字符串值 这对于我的系统常量(URL等)来说效果很好。但是,我也尝试注册一个已编码为Base64字符串的文件的内容。该文件相当大(约400k),因此生成的字符串非常长 当我尝试将XML文件部署到JBoss时,出现以下错误: DEPLOYMENTS IN ERROR: Deployment "vfsfile:/usr/local/jboss-5.1.0.GA/server/default/deploy/customers-se

我使用所描述的技术通过部署到JBoss的XML文件在JNDI树上注册字符串值

这对于我的系统常量(URL等)来说效果很好。但是,我也尝试注册一个已编码为Base64字符串的文件的内容。该文件相当大(约400k),因此生成的字符串非常长

当我尝试将XML文件部署到JBoss时,出现以下错误:

DEPLOYMENTS IN ERROR:
  Deployment "vfsfile:/usr/local/jboss-5.1.0.GA/server/default/deploy/customers-service.xml" is in error due to the following reason(s): org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
这可能是因为我超过了字符串值的最大允许长度,因此它只读取到某一点


如果XML文档本身确实有效,那么这个问题看起来像是缓冲区溢出或对内容长度的错误解释,导致行缩短而没有返回结束标记。这可能是SAX解析器中的一个bug。你用哪一种?我会推荐它的最新版本

根据JNDI绑定管理器的文档,解组实际上是由JBossXB(JBoss XML绑定)框架形成的:

JNDI绑定管理器服务 允许您快速绑定对象 输入JNDI以供应用程序代码使用。 绑定的MBean类 服务是
org.jboss.naming.JNDIBindingServiceMgr
。 它只有一个属性,
BindingsConfig
,它接受XML 符合以下要求的文件:
jndi-binding-service_1_0.xsd
schema。
BindingsConfig的内容
属性使用
JBossXB框架

但是文档中没有提到关于
BindingsConfig
或框架的任何限制。老实说,我真的不明白为什么会有这么低的限制(对于JDNI对象来说,大小相当不错,但是对于
字符串
,我们远远没有Java限制)

因此,如果您确信您的文件格式正确且有效(并且您应该在JBoss之外以编程方式确认这一点),那么您可以继续进行一些二分法测试:尝试使用字符串大小的1/2,然后是3/4,等等。但这并不能真正解决您的问题,它只会帮助社区,尤其是当您登录某个内容时。也许你会得到更多有用的提示。这就是我要做的。

您是否尝试将type=“java.io.File”和as路径作为值传递给文件?我已经尝试过了(在阅读您的评论之后),但我不认为它实际上会将文件放在JNDI树上,因为即使文件名完全错误,也没有错误。
org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.