我们有一个非常大的spring mvc web应用程序,其中控制器使用@Controller注释,使用@RequestMapping注释方法.
我想创建一个测试,它会检查每个可能的url并检查返回值是否为200.
是否有可能从春天获得所有映射?
我们使用phpDocumentator来记录我们的PHP代码.php代码在不同的词典中.运行phpDocumentator的脚本如下所示:
./phpdoc -d dir1,dir2,dir3,dir4
Run Code Online (Sandbox Code Playgroud)
每次我们添加一个新目录时,我都要将这个添加到脚本中.
我想动态地这样做.
ls -d ../*test*
Run Code Online (Sandbox Code Playgroud)
这列出了所有需要的目录,但空格分隔而不是逗号分隔.
题:
如何列出逗号分隔的目录?
如何将此列表作为-d参数添加到phpdoc脚本中?
我有一个存储库接口,其中包含一些使用@Query注释的抽象方法.现在我想为这些查询添加限制和偏移支持.
例:
public interface ProductRepository
extends CrudRepository<Product, Long> {
@Query("from Product")
List<Product> findAllProducts();
}
Run Code Online (Sandbox Code Playgroud)
这样的事情会很好
public interface ProductRepository
extends CrudRepository<Product, Long> {
@Query("from Product limit :limit ")
List<Product> findAllProducts(@Param("limit") Integer limit);
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有一个解决方案,我创建了一个接口的实现(http://stackoverflow.com/questions/3479128/jpql-limit-number-of-results)但我不知道是否有可能添加偏移和限制查询或是否有注释.
我正在试验Sesame和Virtuoso Triplestores.在Moment中,我使用Sesame Java API将RDF数据添加到Triplestores.
我的RDF数据代表不同的东西,如Videodata,Userdata等.目前我可以将一个视频的RDF(标题,描述,位置等)添加到Triplestore
但是如何更新商店中的RDF?
例如,如果我使用芝麻的REST接口并使用更新的RDF进行PUT请求,则首先删除存储中的所有内容.
当我使用带有更新数据的POST(例如视频标题已更改)时,将存储标题(旧的和新的).
你如何与三重商店合作?也许我想念一些必要的东西.
编辑:
我现在在每个RDF条目中使用Virtuoso中的Sesame和Graphs中的Context.这种更新方式我可以先清除上下文并再次添加.当我为两个Triplestores使用Sesame API时(我们仍然不知道我们将使用哪一个),代码看起来完全相同.
ValueFactory f = rep.getValueFactory();
URI uri = f.createURI(urn);
con.clear(uri);
con.add(reader,this.baseURI, RDFFormat.RDFXML,uri);
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
嗨有这样的路线
<route id="route1">
<from uri="activemq:queuer1"/>
<choice>
<when>
<simple>${header.urn} regex '^user*'</simple>
<to uri="xslt:classpath:/xslt/rdf/user.xsl"/>
</when>
<when>
<simple>${header.urn} regex '^userdata:.*'</simple>
<to uri="xslt:classpath:/xslt/rdf/userdata.xsl"/>
</when>
....
<otherwise>
<setHeader headerName="errorMsg ">
<constant>no xsl file for this type</constant>
</setHeader>
<to uri="activemq:error"/>
</otherwise>
</choice>
<process ref="importer"/>
</route>
Run Code Online (Sandbox Code Playgroud)
现在,如果路由进入其他部分,则不应处理该消息.如果消息进入其他情况,我可以以某种方式停止路线吗?
可能性是我在所有部件中添加过程部件并在最后删除它.但是我们已经有几个部件和更多部件.
其他解决方案将是首选.
我使用shell_exec从php执行bash脚本.但是php脚本会一直等到shell脚本完成.
我可以在不等待的情况下以某种方式调用bash脚本.都:
exec
shell_exec
Run Code Online (Sandbox Code Playgroud)
正在等待bash脚本完成.我正在运行linux btw.
我使用以下函数来设置我自己的错误处理程序和异常处理程序.
set_error_handler
set_exception_handler
Run Code Online (Sandbox Code Playgroud)
错误处理程序将错误转换为异常.(引发新的例外)
但是这些异常并没有被我自己的异常处理程序捕获.
错误处理程序示例
function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
throw new Exception("this was an error");
}
Run Code Online (Sandbox Code Playgroud)
异常处理程序示例
function exceptionHandler($e){
// don't get here when exception is thrown in error handler
Logger::logException($e);
}
Run Code Online (Sandbox Code Playgroud)
(我认为这无论如何都行不通)
这有用吗?
或者有人可以解释为什么它不起作用?
编辑:
我做了一些测试,它应该工作.
ErrorHandler中抛出的异常被ExceptionHandler捕获并且ExceptionHandler中触发的错误正由ErrorHandler处理
仅供参考.
我的问题必须在别的地方
编辑:
我仍然没有找到为什么我的errorHandler中没有捕获我的errorHandler中抛出的异常.
例如,当我在代码中的某个地方.
trigger_error("this is an error"); // gets handled by the errorHandler
throw new Exception("this is an exception"); // gets handler by the exceptionHandler
Run Code Online (Sandbox Code Playgroud)
错误由errorHandler处理,但errorHandler中抛出的异常不会被exceptionHandler处理.
但是如果我在触发错误的同一个地方抛出异常,则异常由异常处理程序处理.
(希望以某种方式可以理解我的意思)
我在这里很无能为力.我需要寻找问题的任何想法?
在 Streamlit 应用程序中,当尝试使用与标准格式不同的格式绘制图形时,我会得到非常糟糕的分辨率。
例子:
import pandas as pd
import numpy as np
import streamlit as st
index = pd.date_range(start='2019-01-01', periods=31)
data = np.random.randint(0,100,size=(len(index)))
df = pd.DataFrame(index=index, data=data)
df.plot(figsize=(25, 5), antialiased=True)
st.pyplot(dpi=100)
Run Code Online (Sandbox Code Playgroud)
结果如下:
Jupyter Notebook 中具有相同 Figsize 的相同绘图不存在此问题。为什么会发生这种情况以及如何解决这个问题?
当我尝试运行JUnit 4测试时,我在Eclipse中得到一个NullPointerException.JUnit3虽然有效.
我正在尝试以下测试类:
import static org.junit.Assert.fail;
import org.junit.Test;
public class Test {
@Test
public void test() {
fail("Not yet implemented");
}
}
Run Code Online (Sandbox Code Playgroud)
这是异常堆栈跟踪:
java.lang.NullPointerException
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.localURL(JUnitLaunchConfigurationDelegate.java:420)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.entryString(JUnitLaunchConfigurationDelegate.java:409)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.addEntry(JUnitLaunchConfigurationDelegate.java:396)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.localizeClasspath(JUnitLaunchConfigurationDelegate.java:387)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.getClasspath(JUnitLaunchConfigurationDelegate.java:364)
at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.launch(JUnitLaunchConfigurationDelegate.java:147)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Run Code Online (Sandbox Code Playgroud)
我正在使用OS X Snow Leopard和Java SDK 1.6.0_35(来自Apple).JDK和JUnit 4都在我的构建路径中.Java版本与问题有关吗?
更新:
好吧,我是一个没想到这个的白痴.我为C/C++开发人员安装了Eclipse,因为我必须在C++中做一些事情.但我也使用相同的实例来开发Android版Android SDK插件,我做了一些小型Java应用程序.但我没有安装Java开发工具或Java EE开发人员工具.我现在安装它们,JUnit 4现在正常工作.
我想其中一个工具用于JUnit 4.奇怪的是,JUnit 3工作.无论如何它现在有效.
谢谢大家的支持.
我们在晚上安排的 cronjob 已正确启动,但映像本身的运行时间比计划晚得多。我们预计拉取映像或从集群请求资源时出现问题。通常我可以在输出的事件部分看到此类错误kubectl describe job-name。在本节中,我可以看到诸如此类的事件。pull image create container但是作业完成后,不再显示任何事件。
是否有可能看到这些事件以完成工作?
或者还有其他方法来调查这样的问题吗?
我有一个小C程序,我需要在不同的芯片上运行.可执行文件应小于32kb.为此,我有几个工具链与不同的编译器,用于手臂,mips等.
该程序由几个文件组成,每个文件都编译为一个目标文件,然后链接到一个可执行文件.
当我使用系统gcc(x86)时,我的可执行文件大15kb.使用arm工具链,可执行文件大65kb.使用另一个工具链是47kb.
例如,对于arm,可执行文件中包含的所有对象都是14kb.
使用以下选项编译对象:
-march=armv7-m -mtune=cortex-m3 -mthumb -msoft-float -Os
Run Code Online (Sandbox Code Playgroud)
对于链接,使用以下选项:
-s -specs=nosys.specs -march-armv7-m
Run Code Online (Sandbox Code Playgroud)
nosys.specs库大274个字节.
当我的代码只有14kb而库274字节时,为什么我的可执行文件仍然大得多(65kb)?
更新:
根据答案的建议,我从我的代码中删除了所有malloc和printf命令,并删除了未使用的包含.我还添加了编译标志-ffunction-sections -fdata-sections和链接标志--gc-sections,但可执行文件仍然太大了.
为了实验,我创建了一个虚拟程序:
int main()
{
return 1;
}
Run Code Online (Sandbox Code Playgroud)
当我用不同的编译器编译程序时,我得到了非常不同的可执行文件大小:
8.3 KB : gcc -Os
22 KB : r2-gcc -Os
40 KB : arm-gcc --specs=nosys.specs -Os
1.1 KB : avr-gcc -Os
Run Code Online (Sandbox Code Playgroud)
那么为什么我的arm-gcc可执行文件要大得多呢?我想,avr-gcc可执行文件也会进行静态链接.
bash ×2
java ×2
php ×2
apache-camel ×1
arm ×1
c ×1
eclipse ×1
embedded ×1
jpa ×1
junit ×1
kubernetes ×1
linux ×1
matplotlib ×1
rdf ×1
sesame ×1
spring-mvc ×1
streamlit ×1
triplestore ×1
virtuoso ×1