所以我有一个字符串,我想检查是否应分成两部分,或返回一些默认值.像这样:
val myString = "firstPart-secondPart"
val (first, second) = when (myString.contains("-")) {
true -> myString.split('-', limit = 2)
else -> ?? <-- How would i return ("Default1", "Default2") so the destructuring still works?
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,我如何返回两个默认字符串,以便解构工作?我之前用过的String.split()是为了解构而且非常好.
最近我遇到了一个问题,我需要向GET远程服务请求(使用我假设的简单servlet),并返回RestTemplate Too many redirects!.
经过一番调查后,似乎对指定的远程服务发出的第一个请求实际上只是一个带有一些Set-Cookie头文件的302重定向(自身).如果我使用的是"普通"浏览器,它会确认标题,正确设置Cookie,并按照重定向进行正常的200响应.
我发现RestTemplate不接受Set-Cookie标题,所以重定向一遍又一遍.
有没有办法让RestTemplate确认Set-Cookie标题,仅针对当前请求?我最好不要让它保持状态,因为RestTemplate也是从系统的其他部分使用的.
问候
我有以下TypeScript枚举:
enum Country {
BR = "Brazil",
NO = "Norway"
}
Run Code Online (Sandbox Code Playgroud)
然后想象我有一个方法,它接受一个Country参数,如下所示:
someFunc = (country: Country): void => {
console.log(country) //Will print "Brazil" if country = Country.BR
console.log(Country[country]) //Same as above
console.log(???) //I want to print "BR" if country = Country.BR
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决第三个console.log陈述?
如何获得枚举密钥?
问候
我有一个问题,一个我需要尽快解决的问题......在解决这个问题的过程中我已经解决了一些问题.
请参阅,我需要从JSP页面显示当前服务的Spring Controller.该名称不必在JSP本身中进行解析,我实际上正在使用另一个类(一种taglibrary)在任何页面的底部显示此信息.
有没有办法从外部类获取控制器名称?(当我在外面说时,我的意思是来自另一个类而不是控制器本身.)也许是从请求中得到了什么?(或者一些Spring Security请求属性?).也许是一个拦截器?
我想避免从控制器扩展一个类来解决这个问题.
任何建议都是适当的!
长话短说:
我的项目依赖于"dep": "snapshot"“快照”是标签的位置。运行npm install不会获取新版本的“dep”。
完整故事:
所以最近我开始了一个 JS 项目,并且......长话短说,我通过本地安装的 Nexus 设置了自己的私人存储库。让我们称我的项目为myProj1。
我.npmrc像这样添加了 Nexus 注册表:
registry=http://nexus:8081/nexus/content/groups/npm-all/
一切都很好,我尝试在发布任何生产就绪代码之前发布快照版本。这包括运行npm-snapshot X,其中 X 是我的快照编号。(它基本上是一个将版本标签更改package.json为类似1.0.0-SNAPSHOT.24(如果 X = 24)的插件
然后我跑
npm publish --tag=snapshot --registry=http://nexus:8081/nexus/content/npm-internal
它将代码推送到我的 Nexus,一切看起来都很好。我的 Nexus 注册表中的标签“快照”已更新为最近发布的版本。(1.0.0-快照.24)
然后我有另一个项目,它依赖于上述模块,其package.json指定如下:
"dependencies": {
"myProj1": "snapshot"
}
Run Code Online (Sandbox Code Playgroud)
所以我npm install在项目根目录中运行,你瞧,依赖项已完美下载,一切都很棒!
现在我的问题来了:
然后我决定更新 中的一些内容myProj1,使我使用上面相同的命令发布另一个快照版本。(导致新发布的工件被版本控制1.0.0-SNAPSHOT.25)我的 Nexus 非常棒,并且像它应该的那样发布了新的依赖项,还将 dist 标签“快照”更新为新构建的版本。
然而,当我从其他项目运行时npm install,相信我应该获得更新版本的myProj1,什么也没有发生。它不会获取较新的快照版本。为什么?
我是否误解了对 dist 标签的依赖?我可以用其他方式做到这一点吗?
问候
假设我有这个表结构:
Table "test"
Column | Type | Modifiers
----------------+-----------------------------+-----------
uuid | uuid | not null
created | timestamp without time zone | not null
Run Code Online (Sandbox Code Playgroud)
如何选择某个日期后的记录?但还要考虑特定时区?
由于created是没有区域的时间戳,我们可以假设它是UTC
示例查询:
select uuid from test where created >= '2017-07-20'
这将返回发生在或之后的所有事件2017-07-20 00:00:00.000 UTC我将如何查询发生在说之后的事件2017-07-20 00:00:00.000 GMT+2?无需在我的论点中增加数小时created > arg
我需要使用同一事务将2个不同的实体插入2个不同的表中。如果第二个插入失败,则应回滚第一个。
有什么办法可以很好地做到这一点?
伪代码:
start tx
repo1.save(myEntity);
repo2.save(anotherEntity);
try commit
Run Code Online (Sandbox Code Playgroud)
我知道您可以利用,@Transactioal但只能在方法级别使用?
我有这个Web应用程序,日志记录非常繁重。我们已经实现了MDC对每个请求线程的调用,以便能够在日志中跟踪用户。
日志消息可能如下所示:
INFO [2017-10-09 10:10:55,841] user_uuid=123-123-123 com.myapp.SomeClass: Some log message...
Run Code Online (Sandbox Code Playgroud)
现在的问题是,在大多数情况下,没有当前用户,并且user_uuid在上面的日志示例中,我们没有使用该字段。因此,它看起来像这样:
INFO [2017-10-09 10:10:55,841] user_uuid= com.myapp.SomeClass: Some log message...
Run Code Online (Sandbox Code Playgroud)
如果没有MDC值,是否有任何方法不将MDC密钥和值写入日志?我还没有找到某些日志格式?
如果找不到MDC值,我希望它看起来像这样:
INFO [2017-10-09 10:10:55,841] com.myapp.SomeClass: Some log message...
Run Code Online (Sandbox Code Playgroud)
上面的(MDC)示例配置如下:
%-5p [%d{ISO8601,UTC}] user_uuid=%mdc{user_uuid:-} %c: %m%n%rEx
Run Code Online (Sandbox Code Playgroud) 关于TomEE和使用tomee.xml中指定的数据源,我有一个奇怪的问题。可能值得注意的是,我正在使用Netbeans,TomEE和MySQL。在Ubuntu 13.04上运行(最新的Xubuntu)
tomee.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<tomee>
<Resource id="booktablesDS" type="DataSource">
JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql:localhost:3306/book_tables
UserName juser
Password jpassword
JtaManaged true
</Resource>
</tomee>
Run Code Online (Sandbox Code Playgroud)
和一个小的代码片段,测试连接池:
@Resource DataSource booktablesDS;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Connection c = booktablesDS.getConnection();
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM BOOKS");
Run Code Online (Sandbox Code Playgroud)
我从TomEE获得的输出是:
SEVERE: null
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Run Code Online (Sandbox Code Playgroud)
完整的堆栈跟踪如下。
May 06, 2013 11:08:53 AM org.apache.catalina.util.LifecycleBase start
INFO: The start() method …Run Code Online (Sandbox Code Playgroud) java ×6
spring ×3
javascript ×2
apache-tomee ×1
ejb ×1
enums ×1
hibernate ×1
integration ×1
jdbc ×1
jsp ×1
kotlin ×1
logback ×1
logging ×1
netbeans ×1
nexus ×1
node.js ×1
npm ×1
postgresql ×1
reactjs ×1
rest ×1
resttemplate ×1
servlets ×1
slf4j ×1
sonatype ×1
spring-data ×1
spring-mvc ×1
sql ×1
string ×1
typescript ×1