Jump to content
We've recently updated our Privacy Statement, available here ×

bill.reynolds

Members
  • Posts

    6
  • Joined

  • Last visited

bill.reynolds's Achievements

Rookie

Rookie (2/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. Hi, It looks like the SSL cert for jaspersoft.artifactoryonline.com expired yesterday evening. As a result, Maven is unable to connect to this repo: [ERROR] Failed to collect dependencies at net.sf.jasperreports:jasperreports-functions:jar:6.4.0: Failed to read artifact descriptor for net.sf.jasperreports:jasperreports-functions:jar:6.4.0: Could not transfer artifact net.sf.jasperreports:jasperreports-functions:pom:6.4.0 from/to jaspersoft-repo (https://jaspersoft.artifactoryonline.com/jaspersoft/jaspersoft-repo): sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed: NotAfter: Wed Sep 11 23:59:59 UTC 2019 -> [Help 1][/code] Can someone at Jasper reach out to JFrog to have them renew the cert? Thanks, -Bill
  2. Thanks, though I don't think that endpoint will fix our problem. I did some benchmarking last week against both /serverInfo and /serverInfo/version, and it both cases, both endpoints were subject to the same hourly slowdown. I've been inspecting the code with NewRelic, and it both cases we get hung up at the RestLicenseFilter.doFilter() method - I'm guessing this is a servlet filter that handles all REST requests. My visibility into what is going on is limited, but I'm guessing there is a deadlock in that section of code that only manifests itself hourly. As a consequence, it probably will also break if we try to fetch /rest/login, so I'm not going to use that endpoint to monitor health for the application. In the short term, I'm planning to move our healthcheck to just fetch out /jasperserver-pro/, as that URL returns a 200 response consistently, and I haven't seen it slow down on the hour.
  3. Hi, We're running a 2-node cluster of JasperServer instances, and we needed a consistent URL we could hit to monitor the overall health of each server. From what I could see in the docs, there was no lightweight endpoint like /health we could hit, so we've decided to hit /rest_v2/serverInfo instead. For the most part, this endpoint works - requests to this URL are often returned in less than 200ms. However, about once an hour we see spikes where it takes upwards of 30 seconds for this URL to return. Has anyone else experienced this? Is there an alternate URL we can use to monitor the health of the JasperServer? We're running JasperServer Professional, version 6.3.0. Thanks, -Bill
  4. Thanks Lucian. I came up with a similar ternary operator earlier this morning - I agree it is a little messy, but I was able to get it to work: <parameter name="issue-status-filter" class="java.lang.Object"/> <parameter name="issue-status-filter-clause" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[$P{issue-status-filter} == null ? "" : $P{issue-status-filter} instanceof java.util.Collection ? ((java.util.Collection<String>)$P{issue-status-filter}).isEmpty() ? "" : "and status in ('" + String.join("', '", ((java.util.Collection<String>)$P{issue-status-filter})) + "')" : $P{issue-status-filter} instanceof java.lang.String ? ((java.lang.String)$P{issue-status-filter}).equals("") ? "" : "and status in ('" + ((java.lang.String)$P{issue-status-filter}).toString() + "')" : "";]]></defaultValueExpression> </parameter> I haven't looked at creating an input control yet, however - if I get some time I'll see if that helps our use case.
  5. Hi, I'm running into an issue running the following JRXML file. Here's what I'm trying to do - I'd like to pass this report a collection of strings, and then join these strings into a new String parameter using the expression editor. Here is the JRXML file: <?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.3.0 --> <!-- 2017-11-13T15:34:24 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="collection_test" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="4a22e2a3-efb0-425f-a139-0cf337cfec5e"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> <parameter name="issue-status-filter" class="java.util.List"/> <parameter name="issue-status-filter-clause" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[($P{issue-status-filter} == null || $P{issue-status-filter}.isEmpty()) ? "" : ("and status in ('" + String.join("', '", $P{issue-status-filter}) + "')")]]></defaultValueExpression> </parameter> <queryString> <![CDATA[select 1]]> </queryString> <background> <band splitType="Stretch"/> </background> <detail> <band height="125" splitType="Stretch"> <textField> <reportElement x="65" y="43" width="235" height="30" uuid="4b00b860-c1fd-4ae3-a254-2828e90ca286"/> <textFieldExpression><![CDATA["Status Types:" + $P{issue-status-filter-clause}]]></textFieldExpression> </textField> </band> </detail> </jasperReport> This report works as expected in JasperStudio. Additionally, it in JasperServer works when I pass it two or more parameters in the report request. However, when I try to pass it a single item in the Collection, it throws a ClassCastException. Here is the relevant request: curl -u superuser:XXXXXX "http://localhost:8080/jasperserver-pro/rest_v2/reports/reports/collection_test.pdf?issue-status-filter=open" -o issue.pdf Here is the resulting stacktrace jasperserver_1 | Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List jasperserver_1 | at collection_test_1510604074207_861928.evaluate(collection_test_1510604074207_861928:137) jasperserver_1 | at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:276) jasperserver_1 | ... 17 more From what I can see, it appears that Jasper is internally converting the single-element collection to a String when running on the server, and failing when trying to evaulate the expression. Environment Details: Jasper Server Pro - 6.3.0 Jasper Studio - 6.3.0 I also tested against Jasper Server CE 6.4.0, and got the same results.
×
×
  • Create New...