我们有多个Web应用程序副本,它们部署在同一个域的多个路径上.
例:
每个实例维护一组饼干的每一个其定义path为"/" + .getWebDirRoot()-即/abc,/xyz,/abc123
执行以下流程时:
最后一步失败,因为IE我们发送了错误的cookie - 它发送的是http://mydomain.com/abc而不是http://mydomain.com/abc123
这在FireFox中不会发生.(我还没有尝试过任何其他浏览器).
这是一个已知的行为IE(我测试IE9和IE8)?
有没有办法克服它(以程序化的方式)?
注:只是为了澄清,这并没有切换时发生http://mydomain.com/abc到http://mydomain.com/xyz -行为被严格限制流动哪里currentUrl.startswith(urlAssociatedWithCookie) == true
我使用Fiddler检查了行为- 我清楚地看到abc123发送的HTTP请求与cookie的值属于abc.
我还检查了FireFox上的cookie,它们是预期的 - 每条路径创建一个.
我想定义一些注释,这些注释将允许在编译期间报告额外的警告/错误(类似于IntelliJ中的注释@Nullable和@NotNull注释).
我希望能够编写一些编译器钩子,它们也会根据这些属性添加我的编译逻辑.
如果可能的话,我想要一个通用的钩子,但是因为我们正在使用Eclipse - 如果我们有这种能力也会有好处.
我想知道:
谢谢.
不Jadclipse工作的Eclipse 3.6?
我已经安装Jadclipse 3.3.0在我Eclipse 3.6复制的jar到插件目录,并重申蚀.
现在我在Windows-> Preferences下有了jadclipse菜单,但在尝试解编译任何类时,它根本就不会解编译.我得到通常的eclipse屏幕,说源不可用.错误日志中没有错误.
任何的想法?
我看到Eclipse我可以定义用户库 - 使类路径设置更容易(也可能出于其他原因).
问题是,这些库只在工作区中可用,如果我希望其他人使用同一个项目 - 我需要导出我的用户库,他们需要导入它.
项目级别有这样的功能吗?我基本上需要一个' classpath group ' - 可以做到吗?
如果没有,导入项目时是否有自动导入用户库到工作区的方法?
我正在使用Eclipse 3.6.
看来Oracle的java客户端有一个错误 - 如果tnsnames.ora文件在特定位置放错了空格/制表符/换行符,则会出现以下跟踪异常:
java.lang.ArrayIndexOutOfBoundsException: <some number>
at oracle.net.nl.NVTokens.parseTokens(Unknown Source)
at oracle.net.nl.NVFactory.createNVPair(Unknown Source)
at oracle.net.nl.NLParamParser.addNLPListElement(Unknown Source)
at oracle.net.nl.NLParamParser.initializeNlpa(Unknown Source)
at oracle.net.nl.NLParamParser.<init>(Unknown Source)
at oracle.net.resolver.TNSNamesNamingAdapter.loadFile(Unknown Source)
at oracle.net.resolver.TNSNamesNamingAdapter.checkAndReload(Unknown Source)
at oracle.net.resolver.TNSNamesNamingAdapter.resolve(Unknown Source)
at oracle.net.resolver.NameResolver.resolveName(Unknown Source)
at oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
at oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
at oracle.net.ns.NSProtocol.connect(Unknown Source)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1037)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:282)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:468)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:839)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
Run Code Online (Sandbox Code Playgroud)
如果您使用C++应用程序并尝试tnsnames.ora使用相同的方式将其连接到数据库- 它可以正常工作.同样如此sqlplus.还tnsping应该分析此文件没有问题,解决任何服务名称.似乎Oracle .trim()对于价值观或其他东西太懒了 - 而且Oracle客户端版本9,10和11也存在同样的问题.
知道为什么这个问题存在以及tnsnames.ora格式的确切问题是什么?(我只是删除所有空格来解决它)
我最近看到一段代码使用了一个ThreadLocal对象并保留ConcurrentHashMap在其中.
这有什么逻辑/好处,还是多余的?
我有一个Junit4静态导入org.junit.Assert.assertEquals方法的测试用例.
import static org.junit.Assert.assertEquals;
Run Code Online (Sandbox Code Playgroud)
在这个类中,我创建了一个实用程序方法来断言一些复杂的内部类,这些类没有实现equals(并且很难实现它).
private void assertEquals(MyObj o1, MyObj o2)
{
assertEquals(o1.getSomething(), o2.getSomething());
assertEquals(o1.getSomethingElse(), o2.getSomethingElse());
...
}
Run Code Online (Sandbox Code Playgroud)
我希望代码的行为好像我正在"重载" assertEquals我正在导入的方法,但看起来我的私有非静态方法隐藏了静态导入的方法.我也尝试将我的方法变为public和static(所有排列)但没有成功 - 我不得不重命名它.
它出现这种情况的原因是什么?我在文档中找不到任何对此行为的引用.
我是Maven的新手,我正在尝试将一些项目转换为Maven工作,我不确定构建它们的正确方法是什么 - 这就是我所拥有的:
我有一个共同的模块 - 命名Common和两个不同的应用程序,它们与它们都依赖的事实没有任何共同之处Common.让我们把它们A和B.
A- > Common和B- > 之间的依赖关系Common既适用于运行时也适用于测试 - 这意味着A测试类需要Common测试类.
我尝试了各种我能想到的组合 - 但是他们没有产生我想要的东西.奇怪的是我的代码编译,但JUnits失败,因为在类Common路径中找不到测试类.
我要补充2个轮廓对Common创建2件文物及添加2只依赖A和B这两个文物?(这可能吗?)有没有正确的方法来做我想要的?我应该重构我的代码以适应Maven吗?
我正在使用 Apache HTTP 客户端 (4.4.x),我希望它检测到我正在使用的 DNS 背后的 IP 已更改。
我做了这个测试代码:
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionTimeToLive(5, TimeUnit.SECONDS)
.build();
for (int i = 0; i < 1_000; i++) {
InetAddress address = InetAddress.getByName("devnull-as-a-service.com");
System.out.println(i + ": HOST header <" + "devnull-as-a-service.com" + "> resolved IP <" + address.getHostAddress() + ">");
CloseableHttpResponse response = httpClient.execute(new HttpGet("https://devnull-as-a-service.com/dev/null"));
System.out.println(response.getStatusLine().getStatusCode() + ": " + response.getEntity());
Thread.sleep(1_000L);
}
Run Code Online (Sandbox Code Playgroud)
在测试期间 - 我更改/etc/hosts并模拟 DNS 更改。
我得到的输出是这样的:
21: HOST header <devnull-as-a-service.com> resolved IP <45.76.95.197>
200: [Content-Type: text/html; charset=UTF-8,Content-Length: …Run Code Online (Sandbox Code Playgroud) 我们使用SoapUI的API在构建期间运行自动测试.我试图改变我们的项目是一个composite项目(这意味着它不是一个单一的XML文件,而是一个Directory与Sub-Directory每个测试用例).从那以后,我在尝试加载项目时收到此错误:
Error at line 1, column 1
org.apache.xmlbeans.XmlException: error: Unexpected element: CDATA
at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3486)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1276)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
at com.eviware.soapui.config.SoapuiProjectDocumentConfig$Factory.parse(Unknown Source)
at com.eviware.soapui.impl.wsdl.WsdlProject.loadProject(WsdlProject.java:297)
at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:212)
at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:179)
at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:174)
at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:159)
Run Code Online (Sandbox Code Playgroud)
这是我用来引发此异常的代码(摘录):
SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
WsdlProject project = new WsdlProject(pathToProjectRoot);
Run Code Online (Sandbox Code Playgroud)
有没有人经历过它并知道如何解决它?我没有在Eviware的论坛中找到任何关于此的迹象.
java ×9
eclipse ×2
annotations ×1
automation ×1
classpath ×1
compilation ×1
concurrency ×1
cookies ×1
decompiling ×1
dns ×1
eclipse-3.6 ×1
jad ×1
jadclipse ×1
maven ×1
oracle ×1
soapui ×1
testing ×1
thread-local ×1
tnsnames ×1
web-services ×1