小编Sam*_*war的帖子

如何在junit中处理异常

我写了一些测试用例来测试一些方法.但是有些方法会抛出异常.我做得对吗?

private void testNumber(String word, int number) {
    try {
        assertEquals(word,  service.convert(number));
    } catch (OutOfRangeNumberException e) {
        Assert.fail("Test failed : " + e.getMessage());
    }
}

@Test
public final void testZero() {
    testNumber("zero", 0);
}
Run Code Online (Sandbox Code Playgroud)

如果我通过-45,它将失败,OutOfRangeException但我无法测试特定的异常,如@Test(Expected...)

java junit unit-testing exception-handling exception

26
推荐指数
4
解决办法
6万
查看次数

XMLHttpRequest-SEC7127:CORS请求的重定向被阻止

第一次使用IE11访问我们的网页时,出现以下错误。它可以在我的计算机上的Chrome中运行,但不能在其他开发人员的计算机上工作。但是在所有情况下刷新页面时都可以使用。

错误是

SEC7118:https://secure.server.com/esi?isie789 = n& _ = 1403623253418的XMLHttpRequest 需要跨源资源共享(CORS)。

SCRIPT7002:XMLHttpRequest:网络错误0x2ef1,由于错误00002ef1而无法完成操作。SEC7127:对于CORS请求,重定向被阻止。

它是使用Ajax jquery调用的。

    $.ajax({
        url: esiUrl,
        type: 'GET',
        data: "isie789=" + isIE789,
        dataType: 'html',
        cache: false,
        success: function(responseText) {
            if(responseText.length > 0) {
                $("#deal-of-day-esi").replaceWith(responseText);
            }
        },
        error: function() {
        }
    });
Run Code Online (Sandbox Code Playgroud)

在IE11中寻找请求/响应标头-我没看到任何标头。但是在刷新或在Chrome,Firefox中,我们确实看到了带有“低于”值的响应标头

Access-Control-Allow-Credentials:true Access-Control-Allow-Origin:http : //www.server.co.uk

你能帮忙吗?

ajax jquery xmlhttprequest cors

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

如何查看kafka标头

我们正在使用org.apache.kafka.clients.producer.ProducerRecord将带有标头的消息发送到Kafka

public ProducerRecord(String topic, Integer partition, K key, V value, Iterable<Header> headers) {
    this(topic, partition, (Long)null, key, value, headers);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能实际看到这些标题使用命令。kafka-console-consumer.sh仅显示有效负载,没有标题。

apache-kafka kafka-producer-api

5
推荐指数
4
解决办法
4279
查看次数

cloudfront 响应状态为 413(请求实体太大)

我们需要将大数据作为 URL 的一部分发送,这些数据将由 angular 读取以呈现页面。网址超过 10000 个字符。但是 cloudfront 返回以下错误 -

错误的请求。由 cloudfront (CloudFront) 生成请求 ID:I2fOApzZr4psKrWsY6abezp5R0m30zKDKE7c0MuB_JkjWbvxz5GVnQ==

浏览器控制台返回错误代码 413,并带有以下消息 -

加载资源失败:服务器响应状态为 413(请求实体太大)

云前端是否有任何设置可以允许接受大型 URL 请求。

我知道在 apache 上有像 LimitRequestBody 这样的设置可以允许大量输入,但是请求没有到达 apache 并且由 cloudfront 本身出错。

当我玩字符数时 - 在 8226 个字符后,cloudfront 中断。

amazon-web-services amazon-cloudfront http-status-code-413

4
推荐指数
1
解决办法
4261
查看次数

Spring @Transactional rollback不工作

我有一个如下代码

   public abstract class AffltTransactionService implements IAffltTransactionService {
    ....

        @Override
        @Transactional
        public void processTransactions(List<? extends AffltTransaction> transactions) {
            for (AffltTransaction transaction : transactions) {
                if (transaction != null) {
                    processTransaction(transaction);
                }
            }
        }

        private void processTransaction(AffltTransaction transaction) {
            try {
                processTransactionInternal(transaction);

            } catch (Exception exception) {
                affltTransactionError = new AffltTransactionError(null, null, "error", new Date());
                saveAffltTransactionError(affltTransactionError);
                log.error(exception.getLocalizedMessage());
            }
        }

        @Transactional(readOnly=false, rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
        public void processTransactionInternal(AffltTransaction transaction) {
Run Code Online (Sandbox Code Playgroud)

processTransactionInternal抛出ServiceUnAvailableException,它扩展了RuntimeException

但是,尽管有rollbackFor = Exception.class,事务仍未回滚.你能帮忙吗?

spring transactions commit transactional rollback

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

提高性能

我有两组来自外部来源的数据 - 客户的购买日期和客户的上次电子邮件点击/开放日期.它分别存储在两个表PURCHASE_INTER和ACTIVITY_INTER表中.购买数据是多个,我需要选择上次购买日期.但活动数据对每个客户都是独一无二的.数据彼此独立,并且可能不存在其他数据集.我们在下面写了一个查询,它结合了两个表,根据person_id对它们进行分组,这是来自外部来源的客户的ID并获取最新的日期,加入我们的客户表以获取客户电子邮件,然后再次加入另一个表最终存储此数据的目的是为了知道它是否是插入或更新操作.您能否建议我如何提高此查询的性能.它非常慢,耗时超过10小时.PURCHASE_INTER和ACTIVITY_INTER表中有数百万条记录.

SELECT INTER.*, C.ID AS CUSTOMER_ID, C.EMAIL AS CUSTOMER_EMAIL, LSI.ID AS INTERACTION_ID, ROW_NUMBER() OVER (ORDER BY PERSON_ID ASC) AS RN FROM (
   SELECT PERSON_ID               AS PERSON_ID,
        MAX(LAST_CLICK_DATE)    AS LAST_CLICK_DATE,
        MAX(LAST_OPEN_DATE)     AS LAST_OPEN_DATE,
        MAX(LAST_PURCHASE_DATE) AS LAST_PURCHASE_DATE
   FROM (
     SELECT ACT.PERSON_ID AS PERSON_ID,
          ACT.LAST_CLICK_DATE AS LAST_CLICK_DATE,
          ACT.LAST_OPEN_DATE AS LAST_OPEN_DATE,
          NULL AS LAST_PURCHASE_DATE
     FROM ACTIVITY_INTER ACT
     WHERE ACT.JOB_ID = 77318317
     UNION
     SELECT PUR.PERSON_ID AS PERSON_ID,
          NULL AS LAST_CLICK_DATE,
          NULL AS LAST_OPEN_DATE,
          PUR.LAST_PURCHASE_DATE AS LAST_PURCHASE_DATE
     FROM PURCHASE_INTER PUR
     WHERE PUR.JOB_ID = 77318317 …
Run Code Online (Sandbox Code Playgroud)

sql oracle indexing query-performance sql-tuning

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