小编Jun*_*Liu的帖子

声纳违规:安全 - 数组直接存储

有声纳违规:

声纳违规:安全 - 数组直接存储

public void setMyArray(String[] myArray) { 
  this.myArray = myArray; 
} 
Run Code Online (Sandbox Code Playgroud)

解:

public void setMyArray(String[] newMyArray) { 
  if(newMyArray == null) { 
    this.myArray = new String[0]; 
  } else { 
   this.myArray = Arrays.copyOf(newMyArray, newMyArray.length); 
  } 
}
Run Code Online (Sandbox Code Playgroud)

但我想知道为什么?

java sonarqube

60
推荐指数
3
解决办法
5万
查看次数

除非使用IS NULL或LIKE>运算符,否则无法比较或排序text,ntext和image data>类型

电子邮件属于表格预订,在Microsoft sql server中定义为"文本"类型

SELECT email, 
 COUNT(email) AS NumOccurrences
FROM Booking
GROUP BY email
HAVING ( COUNT(email) > 1 )
Run Code Online (Sandbox Code Playgroud)

运行上述查询后(尝试在预订中查找重复的电子邮件),我收到如下错误消息:

除非使用IS NULL或LIKE运算符,否则无法比较或排序text,ntext和image数据类型.

我正在使用Microsoft Sql

sql sql-server

31
推荐指数
1
解决办法
8万
查看次数

尝试在Pl/Sql中捕获异常处理

在一个过程中,我想做逻辑单元1,如果失败则无关紧要,执行逻辑单元2

这似乎是一个典型的尝试捕获场景.但我怎么能在pl/sql中做到这一点?

create or replace
PACKAGE BUILD_PKG
AS
PROCEDURE reset_seq_and_truncate_tbl(
    p_seq_name   IN VARCHAR2,
    p_table_name IN VARCHAR2 );
END BUILD_PKG;
/
create or replace
PACKAGE BODY  BUILD_PKG
AS
BEGIN
PROCEDURE reset_seq_and_truncate_tbl(
    p_seq_name   IN VARCHAR2,
    p_table_name IN VARCHAR2 )
 IS
   l_val NUMBER;
 BEGIN
   BEGIN
     EXECUTE immediate 'truncate table ' || p_table_name;
   EXCEPTION 
        WHEN OTHERS 
        THEN dbms_output.put_line(SQLCODE);
   END;

   BEGIN
     EXECUTE immediate 'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
   EXCEPTION 
        WHEN OTHERS 
        THEN dbms_output.put_line(SQLCODE);
   END; 
 END reset_seq_and_truncate_tbl;

END BUILD_PKG; …
Run Code Online (Sandbox Code Playgroud)

plsql

17
推荐指数
1
解决办法
6万
查看次数

Oracle <>,!=,^ =运算符

我想知道这些运营商的差异,主要是他们的性能差异.

在SQL中查看了<>和!=之间的区别,它没有与性能相关的信息.

然后我在dba-oracle.com上发现了这一点,它表明在10.2以后性能可能会有很大不同.

我想知道为什么?不!=总是有更好的表现,然后<>

注意:我们的测试和实时系统的性能显示,从更改<>!=对查询返回的时间有很大影响.我在这里问为什么会发生这种情况,而不是它们是否相同.我在语义上知道它们,但实际上它们是不同的.

sql database oracle performance query-optimization

10
推荐指数
3
解决办法
4万
查看次数

如何创建单个注释在Java中接受多个值

我有一个名为的注释

@Retention( RetentionPolicy.SOURCE )
@Target( ElementType.METHOD )
public @interface JIRA
{
    /**
     * The 'Key' (Bug number / JIRA reference) attribute of the JIRA issue.
     */
    String key();
}
Run Code Online (Sandbox Code Playgroud)

它允许添加这样的注释

@JIRA( key = "JIRA1" )
Run Code Online (Sandbox Code Playgroud)

有没有办法让这种情况发生

@JIRA( key = "JIRA1", "JIRA2", .....  )
Run Code Online (Sandbox Code Playgroud)

原因是,我们目前针对Jira任务或错误修复注释测试,但有时,该值将由声纳解析.问题是单个测试涵盖了超过1个bug.

java annotations jira sonarqube

10
推荐指数
1
解决办法
1万
查看次数

没有Web应用程序服务器的Java Web服务

我们有一个消息处理服务器,它

  • 开始几个线程
  • 处理邮件
  • 与数据库等交互......

现在,客户端希望在服务器上拥有Web服务服务器,他们将能够使用Web服务客户端查询消息处理服务器.例如,给我今天的所有消息,或删除带有id的消息....

问题是:

  • 服务器只是标准的j2se应用程序,不在应用程序服务器内运行,如tomcat或glassfish.
  • 要处理Http请求,我是否需要实现http服务器?
  • 我想使用漂亮的j2ee注释,如@webservice,@ webmothod等...是否有任何我可以使用的库或框架

tomcat web-services java-metro-framework jax-ws java-ee

8
推荐指数
1
解决办法
9753
查看次数

发现两个列表之间的区别

在java中假设我有2个列表

List<Object1> list1
List<Object2> list2

object1.getName(); returns a String
object2.getName(); return a String
Run Code Online (Sandbox Code Playgroud)

有没有办法比较名称,并得到两个列表的差异

这些2个对象在第三方库中定义,我不能覆盖equals和compareto方法

我赞成googles Guava或commons集合库

Sets.symmetricDifference(Set1, Set2)要求传入2,即使我使用Sets.newHashSet(lis1)和Sets.newHashSet(lis2)创建两个集合,但它们仍然在集合中具有不同类型的对象.

或者在公共中CollectionUtils.disjunction(lis1, list2),列表仍然必须包含相同的对象类型

没有做2个昂贵的for循环,还有其他方法吗?

java apache-commons guava apache-commons-collection

5
推荐指数
1
解决办法
3387
查看次数

Java SOAP 消息内容类型

我使用 maven wsimport 和 Java 1.7 生成 SOAP 客户端代码。WSDL 是由客户提供的,我相信它是一个 .NET 支持的 SOAP 服务器。

调用该服务后,我不断收到如下错误:

服务器发送 HTTP 状态代码 415:无法处理消息,因为内容类型为“application/soap+xml;” 字符集=utf-8;不是预期的类型 'text/xml; 字符集=utf-8'。

我正在尝试通过自定义处理程序修改 SOAPMessage 类中的 MimeHeader(并且我确实将处理程序正确注册到链中):

MimeHeaders mimeHeaders = msg.getMimeHeaders();
mimeHeaders.removeAllHeaders();
mimeHeaders.removeHeader("Content-Type");
mimeHeaders.addHeader(HttpHeaders.CONTENT_TYPE, "text/xml; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)

上面的代码似乎没有改变 mimiHeaders 内的任何内容,矢量对象似乎是不可变的......

然后我手动创建了 SOAP 消息

  MessageFactory newInstance = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
  MimeHeaders he = new MimeHeaders();
  he.addHeader("Content-Type", "text/xml; charset=utf-8");
  String ss = "<x:Envelope>xxxxx</x:Envelope>";
  InputStream in = new ByteArrayInputStream(ss.getBytes(StandardCharsets.UTF_8));

  SOAPMessage createMessage = newInstance.createMessage(he, in);
  createMessage.writeTo(System.out);  
  context.setMessage(createMessage);
  msg.saveChanges();
Run Code Online (Sandbox Code Playgroud)

这次 SOAPMessage 本身的 mimeHeader 和 Content-Type 都设置为 text/xml;字符集=utf-8

但服务器仍然通过相同的错误 415 …

java wcf soap web-services wsimport

5
推荐指数
1
解决办法
8044
查看次数

Redmine和SVN集成

我们使用相当最新的Redmine.我们在修复错误后每次使用"#+ Redmine number"来引用提交消息中的Redmine编号.

我从浏览器打开Redmine票,没有svn信息.我希望所有更改或代码段都显示在该票证下,因此我可以清楚地看到哪个类已更改,以及更改的内容.

我的问题是,如果在Redmine中这是可能的,如果是的话怎么样?

svn integration redmine

2
推荐指数
1
解决办法
7419
查看次数

在SQL Server中保存重音字符

我们接受带重音符号的字符(例如??xi???html格式的字符),当使用hibernate将其保存到数据库时,字符串变成??xi???

然后,我进行了一次SQL更新,试图将重读单词直接写到数据库中,结果还是一样。

所需的行为是按原样设置到数据库中。

我正在使用Microsoft SQL Server 2008。

我试图用Google搜索它,有人说我需要将数据库排序规则更改为SQL_Latin1_General_CP1_CI_AI。但是我从下拉列表中找不到此选项。

sql sql-server sql-server-2008

2
推荐指数
1
解决办法
8421
查看次数

Apache CXF和Apache Camel

我们的问题:

  • 一组现有的应用程序(招聘,购买,工资等),通过各种方式(电子邮件,pdf,csv文件,Web服务等)进行外部通信
  • 我们要使用的新的ERP系统(SAP或Agresso)通过Web服务与外界进行沟通
  • 我们需要将现有系统与ERP系统集成,并应用一些规则

我的问题:

  • 我们可以仅使用CXF来完成这项工作吗?
  • 是CXF骆驼的子集
  • 还是要实现我们想要的目标,我们必须将两者结合起来?

还有Mule没有给出具体的价格,有人有使用MuleSoft的经验吗?

感谢您的时间!

erp web-services cxf apache-camel mule

2
推荐指数
1
解决办法
3263
查看次数

java hashMap并发修改异常

假设你有一个HashMap m ,里面已经有一个键值对<"key1", object>.

你能做到以下几点吗?

m.put("newkey", m.remove("key1"))
Run Code Online (Sandbox Code Playgroud)

你会得到一个ConcurrentModificationException

java concurrency

0
推荐指数
1
解决办法
2971
查看次数

Thread.sleep和object.wait

两者都试图做类似的事情,这对线程产生了一些影响.

我知道thread.sleep是让CURRENT线程休眠,等待可以让任何线程等待,如果他们试图获取对象的锁定.

问题是,大部分时间他们都在做类似的事情 - 是什么让你选择一个而不是另一个?

java

0
推荐指数
1
解决办法
2955
查看次数