Doubt about bean pooling
I have a stateful session bean.
Suppose a max of 5 EJB objects can be processed at a time.
Now if a 6th request comes for the EJB and all the 5 objects of EJB's are active(and cannot be passivated)...Then how is this 6th bean request handled.
Please let me know the answer to this question.
Thanks in advance
Rahul
I think the 6th request is kept in a queue maintained by the J2EE Container and as and when one of the EJBs is passivated, the 6th is handled. This is assuming that the 5 EJBs are stateful beans. If they are stateless beans, then there is no problem as you think.
HTH
Similar Messages
-
Hi,
I have a doubt in connection pooling.
I we create 100 connections in a connection pool, when do the connections created or assigned? Is it during the login time or during there is a request for the connection?
Please explain the doubt in detail.
ThanksIt depends on connection pool implementation.
Anyway you should not worry about it.
In general some connections created right away and some created after if required. You should be able to configure your pool. -
Doubt about string.intern()
Hello
I have a doubt about string.intern() method.
The document says
When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the String.equals(Object) method, then the string from the pool is returned.
So what is the point of using this intern() method with == or != operators if it aleady calling to equals method internally?
eg:
if (studentObject.getName().intern() == "Student Name") {}cannot be better than
if (studentObject.getName().equals("Student Name")) {}Can someone please explain?Easy dude.
>
Why do you need to optimize it?>
Because i want to.
I would avoid the whole stupid 100 line if-else by doing a Map of type->object and then just clone() the object. But maybe that might not be suitable or "fast enough" for you.I cannot do above because object have it's own behaviors varying at run time
eg - class One has setOne method and class hundred has setHundred method
. Even if i use a map and clone it again i have to use above comparison for setting those behaviours.
Explain your actual problem you're trying to solve, with actual cases. What are these "one" and "Hundred" classes really? Or is your project so top secret that you can't tell us?It is not secret but big. And I need to make the question understandable. If I post the whole code no one will looking at it.
Now you asking so please have a look.
still I have cleaned up many.
My initial question was how to bit speed up the comparison? And can't i use intern() Because here if I got plenty of rectangles(it is the last) performace sucks.
for (CObject aObject : objList) {
if (aObject.getType().equals(SConstant.TEMPLATE)) { /* process Template */
Template tObj = (Template) aObject;
org.apache.velocity.Template template = VelocityTemplateManager.getInstance().getObjectTemplateFromFile(retemplateProperties.getProperty("PAGE"));
VelocityContext context = new VelocityContext();
StringWriter writer = new StringWriter();
context.put(retemplateProperties.getProperty("BAND_OBJECT"), dtmBand);
tObj.setTags(writer.toString());
} else if (aObject.getType().equals(SConstant.LINE)
&& !isInBandandBandAutoAdjust(aObject)) {
Line object = (Line) aObject;
org.apache.velocity.Template template = VelocityTemplateManager.getInstance().getObjectTemplateFromFile(retemplateProperties.getProperty("LINE"));
VelocityContext context = new VelocityContext();
StringWriter writer = new StringWriter();
updateContextWithCheckShifting(context, object);
context.put(retemplateProperties.getProperty("LINE_OBJECT"), object);
template.merge(context, writer);
object.setTags(writer.toString());
} else if (aObject.getType().equals(SConstant.IMAGE) /* process Image */
&& !isInBandandBandAutoAdjust(aObject)) {
REImage imageObject = (REImage) aObject;
org.apache.velocity.Template template = VelocityTemplateManager.getInstance().getObjectTemplateFromFile(retemplateProperties.getProperty("IMAGE"));
VelocityContext context = new VelocityContext();
updateContextWithCheckShifting(context, imageObject);
context.put(retemplateProperties.getProperty("IMAGE_OBJECT"), imageObject);
mageObject.setTags(writer.toString());
else if (aObject.getType().equals(SConstant.RECTANGLE) /* process Rectangle */
&& !isInBandandBandAutoAdjust(aObject)) {
Rectangle rectangleObject = (Rectangle) aObject;
org.apache.velocity.Template template = VelocityTemplateManager.getInstance().getObjectTemplateFromFile(retemplateProperties.getProperty("RECTANGLE"));
VelocityContext context = new VelocityContext();
StringWriter writer = new StringWriter();
updateContextWithCheckShifting(context, rectangleObject);
context.put(retemplateProperties.getProperty("RECTANGLE_OBJECT"), rectangleObject);
template.merge(context, writer);
rectangleObject.setTags(writer.toString());
}And masijade
Thank you very much for the better explanation. -
Doubt about Component binding....
I have a doubt about component binding because I am also using component binding in my application, in my application each page has more than 20 components and each page is session scope, at one point I am getting message like perm space(this is because of lack of memory, actually I have 4gb ram). So my is
"does the jsf creates new object for every reload, because of that my jvm filling with all the objects?".
Another question is "what is the difference between value binding and component bindings?, and drawbacks of each other" please tell me the differences between them up to the very low level(up to memory usage for each approach).
Please clarify this doubt...........JNaveen wrote:
I have a doubt about component binding because I am also using component binding in my application, in my application each page has more than 20 components and each page is session scope, at one point I am getting message like perm space(this is because of lack of memory, actually I have 4gb ram). So my is
"does the jsf creates new object for every reload, because of that my jvm filling with all the objects?".This is regardless of the component binding. JSF creates a component tree and stores it in the session. With component binding you can link between the backing bean and the component without the need for UIViewRoot#findComponent().
Think your problem lies somewhere else. Use a profiler.
Another question is "what is the difference between value binding and component bindings?, and drawbacks of each other" please tell me the differences between them up to the very low level(up to memory usage for each approach).With the component binding you can get hold of the whole component from the tree in the backing bean. Useful if you want to do a bit more than only holding the component's value, with which you usually do with the value binding. -
Weblogic(6.1) deployment descriptor allows configuration of entity bean pool size
and cache size. Since calls from multiple clients to the same entity bean are
serialized what is the benefit of having multiple instances in an entity bean
pool?
Thanks,
StefanAnand,
Of course I don't talk about an extreme case of a table with one row!?, but the
same (logical) entity bean with same primary key accessed by multiple clients.
Each client will use findByPrimaryKey method and will get a reference to same
entity bean mapped to the same "row" in database . My surprise was that even for
this case there are multiple entity instances created in the pool for one row
in the database. For multiple instances mapped to multiple rows we concluded all
makes sense.
thanks again,
Stefan
"Anand Byrappagari" <[email protected]> wrote:
Stefan,
I am not sure I understand your question but if you are asking why
have
pooling, pool of instances is a feature for all types of entity beans.
In
the specific case that you have where the table has only one row it has
limited application but the general case is that you lave multiple rows
in a
table. For example, an Address table will in all probability have hundereds
of addresses of customers. An application accessing this table will be
accessing multiple address instances at any given time. So each of this
instances should be accessable independently hence the pool makes sense
in
this case. I point I am trying to make is that when you define a pool
for a
bean (AddressBean) you are not defining the pool for one instance of
the
bean type(like address_1). The pool specifies the number of instances
(address_1, address_2, ...., address_n) that can exist at any given time.
Are you asking if the pool size is for each row? That is if pool
size is
set to 10, are you asking if you can have atmost 10 instances of address_1
as opposed to 10 instances of any address? The pool and cache sizes refer
to
the limit on any instances and not on 1 instance.
Even in the extreme case like the one you mention where the table
has
only one row, there is some utility in having multiple instances as this
would not require serializing access to the bean - in exclusive strategy,
once a client has locked an EJB instance, other clients are blocked from
the
EJB's data even if they intend only to read the persistent fields. If
you
set the strategy to database then multiple instances can access the data
depending on the isolation levels you have set. Read Chapter 4 of
"Programming Weblogic Enterprise JavaBeans" for more information.
Hope this helps.
-- Anand
"Stefan" <[email protected]> wrote in message
news:[email protected]...
Anand,
If we established that same databse row can be mapped to multiple entitybeans
instances we are back to my original question: Assuming "database"concurrency
strategy, how do you see this model useful if calls from multiple clientsare
serialized across all these instances? I cannot point out the benefitof
the pool
of entity bean instances for same row since they all wait for a clientcall to
finish before replying to another client. Where is the benefit of havingmultiple
instances if one instance would do the same job?
thanks,
Stefan
"Anand Byrappagari" <[email protected]> wrote:
The default concurrency-strategy in weblogic 6.1 is database which
means
that concurrency is taken care of at the database, this model allows
you to
have multiple ejb object instances for the same row in the database.
If you
want a single instance then you can set <concurrency-strategy> element
in
the deployment descriptor for the ejb to Exclusive.
-- Anand
"Stefan" <[email protected]> wrote in message
news:[email protected]...
Thanks Anand,
Sure this way it makes total sense. However I used an example whereI was
referencing
only one row from multiple clients. For this case using the WeblogicConsole I
saw the number of bean instances growing. This would indicate thatsame
row is
mapped to multiple bean instances in the pool, which prompted my
question.
Stefan
"Anand Byrappagari" <[email protected]> wrote:
Think of entity beans as mapping to a row in a database. Access
to
a
single
row is synchronized not to all the rows. So it still makes sense
to
have
multiple instances possibly mapping to multiple rows in the database.
-- Anand
"stefan" <[email protected]> wrote in message
news:[email protected]...
Weblogic(6.1) deployment descriptor allows configuration of entitybean
pool size
and cache size. Since calls from multiple clients to the same
entity
bean
are
serialized what is the benefit of having multiple instances in
an
entity
bean
pool?
Thanks,
Stefan -
Doubt about a null value assigned to a String variable
Hi,
I have a doubt about a behavior when assigning a null value to a string variable and then seeing the output, the code is the next one:
public static void main(String[] args) {
String total = null;
System.out.println(total);
total = total+"one";
System.out.println(total);
}the doubt comes when i see the output, the output i get is this:
null
nulloneA variable with null value means it does not contains a reference to an object in memory, so the question is why the null is printed when i concatenate the total variable which has a null value with the string "one".
Is the null value converted to string ??
Please clarify
Regards and thanks!
Carlosnull is a keyword to inform compiler that the reference contain nothingNo. 'null' is not a keyword, it is a literal. Beyond that the compiler doesn't care. It has a runtime value as well.
total contains null value means it does not have memory,No, it means it refers to nothing, as opposed to referring to an object.
for representation purpose it contain "null"No. println(String) has special behaviour if the argument is null. This is documented and has already been described above. Your handwaving about 'for representation purpose' is meaningless. The compiler and the JVM don't know the purpose of the code.
e.g. this keyword shows a hash value instead of memory addressNo it doesn't: it depends entirely on the actual class of the object referred to by 'this', and specifically what its toString() method does.
similarly "total" maps null as a literal.Completely meaningless. "total" doesn't 'map' anything, it is just a literal. The behaviour you describe is a property of the string concatenation operator, not of string literals.
I hope you can understand this.Nobody could understand it. It is compete nonsense. The correct answer has already been given. Please read the thread before you contribute. -
Weblogic 10.3.0 : Loosing a stateless session bean in the bean pool
Hi,
We have a strange situation where we loose a Stateless SessionBean in a Bean Pool in Weblogic 10.3.0 Since we only have one bean in the pool, this effectively hangs all incoming calls. We do not want more than one instance in the pool because of application restrictions.
In the Weblogic admin console, we can see that there are 1 instance in the bean pool, 0 beans in use and 1 waiting incoming request.
The question is, what can have caused the system to not send the request to the one obviously free bean instance?
This happens after several hours and over 100000 incoming requests, and the same scenario worked fine in the old weblogic 8 environment.
We get the following stacktrace:
<code>
"[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@b0d484 TIMED_WAITING
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2054)
weblogic.ejb.container.pool. StatelessSessionPool.waitForBean (StatelessSessionPool.java:269)
weblogic.ejb.container.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:111)
weblogic.ejb.container.manager.StatelessManager.preInvoke(StatelessManager.java:148)
weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(BaseRemoteObject.java:227)
weblogic.ejb.container.internal.StatelessRemoteObject.preInvoke(StatelessRemoteObject.java:52)
com.mycompany.beans.MessageLogFacace_n73y0z_EOImpl.isMyStuffValid(MessageLogFacace_n73y0z_EOImpl.java:261)
com.mycompany.beans.MessageLogFacace_n73y0z_EOImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(Unknown Source)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
</code>
Any help would be very welcome.
Regards
ChristerThis is fixed now. Someone had defined a Servlet for the web service in web.xml that was preventing the EJB container to kick in.
Edited by: user572625 on Aug 25, 2011 11:54 PM -
Doubt about Select statement.
Hi folks!!
I have a few doubts about the select statements, it may be a silly things but its useful for me.
what is difference between below statment.
1)SELECT * FROM TABLE.
2)SELECT SINGLE * FROM TABLE
3)SELECT SINGLE FROM TABLE.
Hope i will get answer,thanks in advance.
Regards
Richie..Hi,
try this and if possible use sap help.i mean place the cursor on select and press F1.
Types of select statements:
1. select * from ztxlfa1 into table it.
This is simple select statement to fetch all the data of db table into internal table it.
2. select * from ztxlfa1 into table it where lifnr between 'V2' and 'V5'.
Thisis using where condition between v2 and v5.
4. select * from ztxlfa1 where land1 = 'DE'. "row goes into default table work Area
5. select lifnr land1 from ztxlfa1
into corresponding fields of it "notice 'table' is omitted
where land1 = 'DE'.
append it.
endselect.
Now data will go into work area. and then u will add it to internal table by
append statement.
6. Table 13.2 contains a list of the various forms of select as it is used with internal tables and their relative efficiency. They are in descending order of most-to-least efficient.
Table 13.2 Various Forms of SELECT when Filling an Internal Table
Statement(s) Writes To
select into table it Body
select into corresponding fields of table it Body
select into it Header line
select into corresponding fields of it Header line
7. SELECT VBRK~VBELN
VBRK~VKORG
VBRK~FKDAT
VBRK~NETWR
VBRK~WAERK
TVKOT~VTEXT
T001~BUKRS
T001~BUTXT
INTO CORRESPONDING FIELDS OF TABLE IT_FINAL
FROM VBRK
INNER JOIN TVKOT ON VBRKVKORG = TVKOTVKORG
INNER JOIN T001 ON VBRKBUKRS = T001BUKRS
WHERE VBELN IN DOCNUM AND VBRK~FKSTO = ''
AND VBRK~FKDAT in date.
Select statement using inner joins for vbrk and t001 and tvkot table for this case based on the conditions
8. SELECT T001W~NAME1 INTO TABLE IT1_T001W
FROM T001W INNER JOIN EKPO ON T001WWERKS = EKPOWERKS
WHERE EKPO~EBELN = PURORD.
here selecting a single field into table it1_t001winner join on ekpo.
9. SELECT BUKRS LIFNR EBELN FROM EKKO INTO CORRESPONDING FIELDS OF IT_EKKO WHERE EBELN IN P_O_NO.
ENDSELECT.
SELECT BUTXT FROM T001 INTO IT_T001 FOR ALL ENTRIES IN IT_EKKO WHERE BUKRS = IT_EKKO-BUKRS.
ENDSELECT.
APPEND IT_T001.
here I am using for all entries statement with select statement. Both joins and for all entries used to fetch the data on condition but for all entries is the best one.
10. SELECT AVBELN BVTEXT AFKDAT CBUTXT ANETWR AWAERK INTO TABLE ITAB
FROM VBRK AS A
INNER JOIN TVKOT AS B ON
AVKORG EQ BVKORG
INNER JOIN T001 AS C ON
ABUKRS EQ CBUKRS
WHERE AVBELN IN BDOCU AND AFKSTO EQ ' ' AND B~SPRAS EQ
SY-LANGU
AND AFKDAT IN BDATE AND AVBELN EQ ANY ( SELECT VBELN FROM
VBRP WHERE VBRP~MATNR EQ ITEMS ).
Here we are using sub query in inner join specified in brackets.
Thanks,
chandu. -
Setting max bean pool size in MDB
Hi,
I need to set the max bean pool size for my MDB to 1. This MDB is a part of my application and is packaged in an ear.
I tried to set it with the following annotation -
import javax.ejb.*;
@MessageDriven
(mappedName = "MyQueue",
name = "MyMDB",
activationConfig = {
@ActivationConfigProperty(propertyName="maxBeansInFreePool",
propertyValue="1"),
@ActivationConfigProperty(propertyName="initialBeansInFreePool",
propertyValue="1"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
However, this does not seem to work since I see the Current pool count on the WLS console as 3 after processing is done.
After looking at various posts in this forum, I also tried it with weblogic ejbgen as follows-
import weblogic.ejbgen.*;
@MessageDriven(ejbName = "MyMDB",
destinationType = "javax.jms.Queue",
initialBeansInFreePool = "1",
maxBeansInFreePool = "1",
destinationJndiName = "MyQueue")
However, with this the MDB did not get deployed in WLS.
I am using Weblogic 10.3 / EJB 3.0.
Any help on this is greatly appreciated.
Thanks
MeeraAs far as I know, it currently isn't possible to set max-beans-in-free-pool via annotations. You can use a deployment plan (configurable from console and/or follow the link supplied by atheek1).
I think you can also automatically generate descriptors based on javadoc text via ejb-gen, I'm not quite sure if this tooling can work in conjunction with EJB 3.0 annotations. See http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ejb/EJBGen_reference.html
Tom -
Doubt about Bulk Collect with LIMIT
Hi
I have a Doubt about Bulk collect , When is done Commit
I Get a example in PSOUG
http://psoug.org/reference/array_processing.html
CREATE TABLE servers2 AS
SELECT *
FROM servers
WHERE 1=2;
DECLARE
CURSOR s_cur IS
SELECT *
FROM servers;
TYPE fetch_array IS TABLE OF s_cur%ROWTYPE;
s_array fetch_array;
BEGIN
OPEN s_cur;
LOOP
FETCH s_cur BULK COLLECT INTO s_array LIMIT 1000;
FORALL i IN 1..s_array.COUNT
INSERT INTO servers2 VALUES s_array(i);
EXIT WHEN s_cur%NOTFOUND;
END LOOP;
CLOSE s_cur;
COMMIT;
END;If my table Servers have 3 000 000 records , when is done commit ? when insert all records ?
could crash redo log ?
using 9.2.08muttleychess wrote:
If my table Servers have 3 000 000 records , when is done commit ? Commit point has nothing to do with how many rows you process. It is purely business driven. Your code implements some business transaction, right? So if you commit before whole trancaction (from business standpoint) is complete other sessions will already see changes that are (from business standpoint) incomplete. Also, what if rest of trancaction (from business standpoint) fails?
SY. -
Doubts about BP number in SRM and SUS
Hello everyone,
I have some doubts about the BP number, especially for Vendors.
I am working with the implementation of SRM 5.0 with SUS in an extended classic scenario. We will use one server for SRM and other for SUS. We will use the self registration for vendor (in SUS). My questions are:
- Can I have the same BP number in SRM and SUS?? Or is it going to be different??
- When a vendor accesses at the site to make a self registration in SUS, the information is sent to SRM as prospect (by XI) and there the prospect is changed as vendor? After that, is it necessary to send something from SRM to SUS again? (to change the prospect to vendor)
- When is it necessary to replicate vendors from SRM to SUS??
Thanks
IváDear Ivan,
Here is answer to all your questions. Follow these steps for ROS configuration:
Pls note:
1. No need to have seperate clients for ROS and SUS. Create two clients for EBP and (SUS+ROS).
2. No need of XI to transfer new registered vendor from ROS to EBP
Steps to configure scenario:
1. Make entries in SPRO --> "Define backend system" on both clients.
You will ahev specify logical systems of both the clients (ROS as well as EBP)
2. Create RFCs on both clients to communicate with each other
3. In ROS client create Service User for supplier registration service with roles:
SAP_EC_BBP_CREATEUSER
SAP_EC_BBP_CREATEVENDOR
Grant u201CS_A.SCONu201D profile to the user.
4. Maintain service user in u201CLogon Datau201D tab of service : ros_self_reg in ROS client
5. Create Purchasing and vendor Organizational Structure in EBP client and maintain necessary
attributes. create vendor org structure in ROS client
6. Create your ROS registration questionnaires and assign to product categories- in ROS client
7. To transfer suppliers from registration system to EBP/Bidding system, Supplier pre-screening has to be
defined as supplier directory in SRM server - EBP client.
Maintain your prescreen catalog in IMG --> Supplier Relationship Management u2192 SRM Server u2192
Master Data u2192 Define External Web Services (Catalogs, Vendor Lists etc.)
8. Maintain this catalog Id in purchasing org structure under attribure "CAT" - in EBP client
9. Modify purchaser role in EBP client:
Open node for u201CROS_PRESCREENu201D and maintain parameter "sap-client" and ROS client number
10.Maintain organizational data in make settings for business partner
Supplier Relationship Management -> Supplier Self-Services -> Master Data -> Make Settings for the Business Partners. This information is actually getting getting stored in table BBP_MARKETP_INFO.
11. Using manage Business partner node with purchasers login (BBPMAININT), newly registsred vendors are pulled from Pre-screen catalog and BP is created in EBP client. If you you have SUS scenario, ensure to maintain "portal vendor" role here.
I hope this clarifies all your doubts.
Pls reward points for helpful answers
Regards,
Prashant -
I have some doubts about the possible uses of OBIEE. It happens that using OBIEE sometimes users demand report of an "analytical" type, that is aggregated analysis through OBIEE’s Answers, selecting data from dimension tables and measures from fact tables. That’s the ordinary purpose of business intelligence tools!!!
Some other times though, users demand to perform through Answers analyses of an "operating" type, that is simple extractions of some fields belonging to dimension tables, linked between each other through joins, (hence without querying fact tables): that happens because some of the tables brought in the datawarehouse are not directly linked to any fact table. In this way users want to use Answers to visualize data even for this kind of extractions (or operating reports).
Is this a correct use of the tool or is it just a “twisted” way of using it, always leading eventually to incorrect extractions? If that’s the case, is it possible to use instead BI Publisher, extracting the dataset through the "Sql Query" mode in a visual manner? The problem of the latter solution, in my case, relies in the fact that users are not enough skilled from the technical point of view: they would prefer to use Answers for every extraction, belonging both to the first type (aggregations) and the second one (extractions), that I just described. Can you suggest a methodology to clarify this situation?Hi,
I understand your point... But I think OBIEE doesn't allow having dimension "on their own", they must be joined to a fact table somehow. This way, when you do a query in answers using fields of two dimension tables a fact table should be always involved. When dimensions are conformed, several fact tables may be used, and OBIEE uses the "best" one in terms of performance. However, there are some tricks that you can do to make sure a particular fact table is used, like using the "implicit fact column" in the presentation layer.
So back to your point, using OBIEE for "operational" reporting as you call it is a valid option in my experience, but you have to make sure that the underlaying star schema supports the logic that your end users expect when they use just dimension fields.
Regards, -
Doubts about use of REPORTS_SERVERMAP with Forms11g HA
Hi,
I'm configuring a Linux 64bits Forms/Reports 11g HA environment, the point is that i have two nodes, each one with its Forms and Reports servers, let's say FormsA and ReportsA for the first node and FormsB and ReportsB for the seconde node.
i want FormsA to be able to call reports from ReportsB and FormsB to be able to call reports from ReportsA.
I've been reading about REPORT_SERVERMAP
http://docs.oracle.com/cd/E12839_01/bi.1111/b32121/pbr_conf003.htm#autoId5
But i have some doubts about its use:
1. I will not use a shared cluster file system or any way of cache solution, i will only have my rdf files on each node, and i'm wondering if just by configuring this parameter i will be able to get the effect mentioned above ??
2. The link provided says "Using RUN_REPORT_OBJECT. If the call specifies a Reports Server cluster name instead of a Reports Server name, the REPORTS_SERVERMAP environment variable must be set in the Oracle Forms Services default.env file"
In fact i'm using RUN_REPORT_OBJECT but
what is the Reports Server cluster name ?? and where do i find that name ??
3. Is this configuration well defined:
REPORTS_SERVERMAP=clusterReports:ReportsA;clusterReports:ReportsB
4. At forms applications when using RUN_REPORT_OBJECT, can i assume that the report server name will be the cluster name specified at the REPORTS_SERVERMAP ??
5. Which files should i modify rwservlet.properties or default.env ??
Hope you can help me :)
Regards
CarlosHi,
1. I will not use a shared cluster file system or any way of cache solution, i will only have my rdf files on each node, and i'm wondering if just by configuring this parameter i will be able to get the effect mentioned above ??
--> In such case what could go wrong is
Suppose Run_report_object executed jobs successfully to ReportsA
But web.show_document command for getjobid failed ( as ReportsA went down by this time)
--> You will not get the output shown ( though job was successful)
If shared cache was enabled, then Even if ReportsA is down, other cluster member ( say ReportsB)
will respond back to web.show_document.
Point 2,
--> Under HA is it highly recommended to use web.show_document ( a servlet call) to execute reports. This is to help use all HA features at the HTTP , Webcache or load balancer level.
However if there is migrated code or Run_report_object is must, then the recommendations as you see in the pointed document is must.
REPORTS_SERVERMAP setting needs to be configured in rwservlet.properties file and also in default.env Forms configuration file to map the Reports Server cluster name to the Reports Server running on the mid-tier where the Load Balancer forwarded the report request.
For example FormsA, ReportsA, cluster name say rep_cluster
default.env file
REPORTS_SERVERMAP=rep_cluster:ReportsA
Where "rep_cluster" is the Reports Server cluster name and "ReportsA" is the name of the Reports Server running on the same machine as FormsA
rwservlet.properties file
<reports_servermap>rep_cluster:ReportsA</reports_servermap>
At default.env this is not a valid entry
REPORTS_SERVERMAP=clusterReports:ReportsA;clusterReports:ReportsB
what is the Reports Server cluster name ?? and where do i find that name ??
--> This is created via EM on the report server side.
Would recommend to refer following documents at the myoracle support repository
How to Setup Reports HA (High Availability - Clusters) in Reports 11g [ID 853436.1]
REP-52251 and REP-56033 Errors When Calling Reports From Forms With RUN_REPORT_OBJECT Against a Reports Cluster in 11g. [ID 1074804.1]
Thanks -
Doubt about proxies implementation
hi experts i have small doubt about proxies implementation
1. if we r implementing client proxies, it means sap r/3(proxy)->>xi->>>file
system.here where we have to execute the SPROXY transaction. in sap r/3 or
in the xi server.and the next thing is where we have to write the report program
to trigger the interface.in sap r/3 or in the xi server.
2. if we r implementing server proxies, it means File->>xi->>>sap r/3
(proxy).here where we have to execute the SPROXY transaction. in sap r/3 or
in the xi server.
please clear me
Regards
giriSreeram,
The Integration Server and the client on which you generate the proxies should not be the same. If they are different then yes, you can use another client in your XI box itself to generate proxies and trigger the call to XI.
If you see this blog by Ravi ( incidentally he is my boss as well ) this is exactly what we have done as well.
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
When you say XI, you mean the Client on which the Integration Server is running! XI is basically a R3 instance with more functionality and its own Integration Engine.
Regards
Bhavesh -
Doubt about unicode conversion
Dear Friends,
I have a doubt about the unicode conversion. I have read (one server strategy) that I have to do export (R3load), delete the ECC 6.0 non-unicode, install an unicode database and then import with R3load. My doubt is about the deletion of ECC 6.0 non unicode. Why? can I convert to unicode only with an export (R3load) and subsequent import (R3load) without any deletion?. Obviously I must to change the SAP kernel with a unicode one. Is it correct?
Cheersyou can not convert a SAP System to unicode by just exchanging the executables from non unicode to unicode ones.
a non unicode SAP Oracle database is typically running with a database codepage WE8DEC or US7ASCII (well this one is out of support).
so every string stored in the database is stored using this codepages or SAP-Internal codepages.
When converting to unicode you have to convert also the contents of the database to unicode. As unicode implementation starts at a time where Oracle did not support mixed codepage databases (one tablespace codepage WE8DEC the other one UTF8) inplace conversions are not possible. To keep things simpler, we still do not support mixed codepage databases.
Therefore you have to export the contents of your database and import it to a newly created database with a different codepage if you want to migrate to unicode.
regards
Peter
Maybe you are looking for
-
Windows 8 and IE10 not accepting Proxy Settings via Group Policy
We have recently introduced a couple of Windows 8 computers in our network, and we are having issues applying the Internet Explorer Proxy Server settings. We use a Microsoft TMG 2010 server as our proxy server for accessing the internet. We have bee
-
SRM Server 5.5 SP stack Upgrade from 14 to 17 ( 15 16 & 17)
Dear Experts, We are on SRM 5.0, Server 5.5 Extended Classic Scenario We recently upgraded from SP 14 and now added 15, 16 and 17. While testing the plan driven scenario, for PR with material master we are getting the follwoing error: BBP_BC_EXTREQ_
-
Logic Pro 10.1.0 update. automation and external midi tracks issues
Hi there, After i i installed the update I am having some issues with transferring automation to region/track and viceversa + othe issues in creating GM external midi tracks... anybody else experiencing the same? Marco
-
Illustrator CC 2014 can not open file if you save that in Illustrator 8
Hi, Illustrator CC 2014 can not open file again f you save that file in Illustrator 8. Using Illustrator CC 18.0.0 TIA.
-
How do I get a hold of customer service?
I need to speak to someone in customer service. I'm not happy with my local Verizon store. My wife and I were mislead about a few things when we upgraded to a Samsung Galaxy S4 phone, both of us upgraded. We purchased a tablet, our first one, and wa