我创建了一个端口池(webservice客户端),因为在每次请求时动态创建客户端会导致瓶颈
现在我注意到webservice客户端持有对请求和响应的引用......
这是正常的......?
不幸的是,对于这个web服务来说,有效载荷非常大,就像这样,即使暂时不使用,池也会保留对某些不再使用的响应的引用...增加堆...
收到回复后有没有办法清理这些引用?
更新:使用Apache CXF客户端我没有这个问题但是pb.仍然对weblogic客户开放..
来自 Soap、XSD、WSDL 领域,我试图找到一种方法来重用使用 OpenApi v3 时定义的一些模式。
目录结构:
地址.yaml
openapi: 3.0.1
info:
title: An include file to define an address
version: 1.0.0
paths: {}
components:
schemas:
Address:
type: object
properties:
id:
type: integer
format: int64
streetName:
type: string
streetNumber:
type: integer
format: int32
city:
type: string
postalCode:
type: string
format: date-time
country:
type: string
description: Allowed countries (just on purpose 3 to have an enum)
enum:
- Romania
- Belgium
- Hungary
Run Code Online (Sandbox Code Playgroud)
客户.yaml
openapi: 3.0.1
info:
title: An include file to …Run Code Online (Sandbox Code Playgroud) 我开始阅读关于jee 7的内容,我读到的一件事是:
"Servlet技术自请求开始以来只允许传统(阻塞)输入/输出.在Servlet 3.1版本中,新的非阻塞I/O API使servlet可以无任何阻塞地进行读写"
自从Servlet 3.0引入了AsyncContext和asynch servlet以来,这个语句的真实性如何?
"这意味着其他任务可以在读取或写入发生的同时执行,无需等待.这反过来意味着现在您可以更轻松地完成Ajax和部分页面刷新,而无需单独调用servlet每次更新"
那么与3.0版本的asynch servlet相比,servlet 3.1中引入的新功能是什么?
谢谢
如果我已经从SOAP响应接收到内存中的大字节数组.
我必须将此字节数组写入OutputStream.
只需使用write即可:
byte [] largeByteArray=...;
outputstream.write(largeByteArray);
...
outputstream.flush();
...
Run Code Online (Sandbox Code Playgroud)
或者最好将bytearray 拆分成小块并将其写入输出流?
我是Groovy的新手,我试图跟踪一些样本
def list = [ [1,0], [0,1,2] ]
list = list.sort { a,b -> a[0] <=> b[0] }
assert list == [ [0,1,2], [1,0] ]
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,很简单,但我找不到排序方法
http://groovy.codehaus.org/groovy-jdk/
如果你继续列表排序不存在...
我在找错了地方?
谢谢 !
我对信号量有锁争用,我想测量锁保存的时间.
有没有一些免费的测量工具?
尝试过Visual VM,我看到了锁争用,但我对时代更感兴趣.
谢谢你的任何消化.
我喜欢这50个
"[ACTIVE] ExecuteThread: '226' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x00000001099fa000 nid=0x41e waiting for monitor entry [0xfffffffe5a8f9000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
- waiting to lock <0xfffffffeb063ebb0> (a weblogic.utils.classloaders.GenericClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
at com.thoughtworks.xstream.core.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:69)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream.java:723)
at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:696)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:445)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:385)
at com.thoughtworks.xstream.XStream.<init>(XStream.java:342)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ChartBeanPrimeFaces 的样本.这是观点:
<h:form>
<p:layoutUnit position="center">
<p:lineChart id="linear" value="#{chartBean.linearModel}" legendPosition="e"
title="Linear Chart" minY="0" maxY="1000" style="height:600px"/>
</p:layoutUnit>
</h:form>
Run Code Online (Sandbox Code Playgroud)
这是豆子:
@Named
@RequestScoped
public class ChartBean implements Serializable {
private CartesianChartModel categoryModel;
private CartesianChartModel linearModel;
public ChartBean() {
System.out.println("ChartBean constructed");
createCategoryModel();
createLinearModel();
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我注意到在打开页面时调用了这个bean的构造函数两次.日志显示以下内容:
INFO:ChartBean构造了
INFO:ChartBean
所以bean被实例化了两次.这是怎么造成的,我怎么能避免这种情况?我正在与数据库进行交互,以便在UI中显示一些数据,这样就不必两次获取数据.
我想知道我是否启动了一个java虚拟机:
-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=256m
-XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+UseParallelOldGC
-XX:LargePageSizeInBytes=4m -XX:-BindGCTaskThreadsToCPUs
Run Code Online (Sandbox Code Playgroud)
所以我用-Xms等于-Xmx启动服务器我java OS进程将从操作系统"保留"内存为好?因此,这个JVM将有2GB的空间,如果操作系统有它,那么它将允许进程启动,否则没有.
有没有可能在JVM启动后用2GB来使用os的交换内存?
(所以如果它最初没有使用交换内存就开始)
我要开发一个高扩展性的webservice,但是连接池大小(Oracle DB)设置为50。
拥有这个大小意味着服务的并发请求数量最多为 50,否则将没有新连接可用,对吗?
但是通过配置,Weblogic 或 Glassfish 服务器是否可以同时接受 50 个以上的请求?
我读到服务器接受“排队”的请求,直到线程处理它们。
关于“可扩展性”,我也有一个问号,因为平均数据库调用需要 1,2 秒。+ 肥皂开销...==> 每次调用的响应时间为 2,3 秒。
我可以估计服务器将支持多少并发用户(Weblogic 或 Glasfish 4gb)?
谢谢
java ×6
web-services ×2
cdi ×1
constructor ×1
glassfish ×1
glassfish-4 ×1
groovy ×1
java-ee ×1
jax-ws ×1
jsf ×1
jvm ×1
locking ×1
openapi ×1
performance ×1
primefaces ×1
profiling ×1
scalability ×1
servlet-3.0 ×1
servlets ×1
solaris ×1
streaming ×1
swagger ×1
weblogic ×1