我遇到了我认为BinaryReader.ReadChars()方法的问题.当我在原始套接字NetworkStream周围包装BinaryReader时偶尔会出现流损坏,其中正在读取的流不同步.所讨论的流包含二进制序列化协议中的消息.
我已将此跟踪到以下内容
我认为发生的事情如下(在下面的例子中)
序列化代码试图解组下一个项目并因为流损坏而呱呱叫.
char[] buffer = new char[3];
int charIndex = 0;
Decoder decoder = Encoding.BigEndianUnicode.GetDecoder();
// pretend 3 of the 6 bytes arrives in one packet
byte[] b1 = new byte[] { 0, 83, 0 };
int charsRead = decoder.GetChars(b1, 0, 3, buffer, charIndex);
charIndex += charsRead;
// pretend the remaining 3 bytes plus a final byte, for something unrelated,
// arrive next
byte[] …Run Code Online (Sandbox Code Playgroud)我正在尝试使用spring-security来获取Java应用程序,以便与我设置的本地ADAM实例进行通信.
我已成功安装ADAM并设置如下....
O=Company
OU=Company Users(orgnizationalUnit)
CN=Mike Q(用户)的granchilduid = mike 和 password = welcome然后我设置了spring-security(版本3.0.3,spring-framework 3.0.4和spring-ldap 1.3.0).弹簧文件
<security:ldap-server id="contextSource" url="ldap://localhost:389/o=Company"/>
<security:authentication-manager>
<security:ldap-authentication-provider user-dn-pattern="uid={0},ou=Company Users"/>
</security:authentication-manager>
<bean class="com.xxx.test.TestAuthentication" lazy-init="false"/>
Run Code Online (Sandbox Code Playgroud)
和TestAuthentication
public class TestAuthentication
{
@Autowired
private AuthenticationManager authenticationManager;
public void initialise()
{
Authentication authentication = new UsernamePasswordAuthenticationToken( "mike", "welcome" );
Authentication reponseAuthentication = authenticationManager.authenticate( authentication );
}
}
Run Code Online (Sandbox Code Playgroud)
运行这个我得到以下错误
Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090336, comment: AcceptSecurityContext error, data 2030, …Run Code Online (Sandbox Code Playgroud) 我希望能够检查会话是否包含给定类/标识符的实体.我现在看不到这样做的方法.
contains() 获取实体对象而不是类+键get() 如果实体不存在则查询数据库,我不想这样做load() 永远不会返回null,因为始终会创建代理,因此我无法使用此方法是否可以执行上述操作而不会对DB产生任何副作用/查询?
我有一堆spring配置文件,所有这些文件都存放在各种子包中的META-INF目录下.我一直在使用以下导入...
<import resource="../database/schema.xml"/>
Run Code Online (Sandbox Code Playgroud)
所以来自源文件的相对路径.当我在jar文件之外使用本地构建时,这很好用.但是,当我将所有内容打包在一个jar中时,我得到一个错误,它无法解析URL资源.如果我将上面的内容更改为绝对路径(使用classpath :),那么它可以正常工作.
有什么方法可以使用带有".."的相对路径,当配置包装在一个罐子里时,或者我只限于下降相对路径和绝对路径?
谢谢.
我想在工厂模式启动后创建一些spring bean.例如,每隔一段时间我就有一些工作要做,我需要创建一个任务bean(可能对其他单例spring bean有依赖)并执行它.
可能有多个工作要同时执行,因此每个任务bean都需要独立(原型).
人们用它来实现这个目标吗?
正如我所看到的,我需要以某种方式与容器/ applicationContext进行交互,但我真的不想分散对applicationContext/beanFactory的注入并且到处调用getBean("...").
我想到了这样的事情(注意"工厂"是我想象的东西,而不是存在的东西)
<bean id="myTask" class="MyTask" scope="prototype">
<property name="entityManager" ref=".../>
...
</bean>
<bean id="myTaskExecutor" class="MyTaskExecutor">
<property name="taskFactory">
<xxx:factory bean="myTask"/>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
然后是代码
class MyTaskExecutor
{
private Factory<MyTask> taskFactory;
public void setTaskFactory( Factory<MyTask> taskFactory )
{
this.taskFactory = taskFactory;
}
}
Run Code Online (Sandbox Code Playgroud)
也许是一个注释版本
class MyTaskExecutor
{
@Factory(MyTask.class)
private Factory<MyTask> taskFactory;
}
Run Code Online (Sandbox Code Playgroud)
也许有类似上面的东西?或者我错过了一些基本的东西.
我意识到我可以有一个单独的MyTaskFactory并使用它来实例化使用"new"然后我必须从工厂传递所有它的家属感觉不对.
所以我想总结一下这个问题
从应用程序代码中按需创建原型spring bean的推荐方法是什么?
感谢任何输入.
我需要非常快速地(1周)开发一个基本的Web应用程序来进行演示.
我的要求是
我的第一站是检查Wicket,因为我听说过它的好消息.我现在没有时间潜入任何沉重的事情,这可能在我的脑海中写下了JSF(我玩JSF1,陡峭的学习曲线,我现在已经滑倒了).
我很高兴将结果视为一次性,所以如果有一个框架开始很好,但是没有扩展到更大的项目,那就没关系.
对框架/方法表示赞赏的任何建议.
我一直在和詹金斯一起玩,并且全力以赴.版本1.447
但是,我想将最新的稳定版本"发布"到Jenkins工作区/工作区域以外的区域.这将是用户可以获取最新稳定版本进行测试的地方,并且可以节省我不得不指向它们.
有人可以推荐我应该如何接近这个吗?Jenkins似乎有能力发布人工制品,但只能在Jenkins工作区/区域内发布.有一个好的插件可以做我想要的.我还想先完全删除现有的构建.
有没有办法让liquibase调用自定义Java类/插件,并让该类访问底层连接以进行数据更改.我看了一眼,但它只是
因此,我们的更新步骤需要大量的数据操作,这比使用SQL更容易在代码中进行调试和调试.所以我想编写可以提取,转换和保存数据的任务.这可能在liquibase框架内吗?
如果我有一个带索引的空表并且我执行bcp,SQL Server(内部)是否删除/禁用索引,加载数据然后重新应用/启用/构建索引?
当我执行返回匿名类型的查询时
var assets =
from Product p in Session.CreateLinq<Product>()
where bundles.Contains(p.ProductBundle)
select new {p.Asset, p.Asset.PropertyTbl};
Run Code Online (Sandbox Code Playgroud)
我可以输入var以外的其他内容吗?